FastSql.Core 2.1.0

dotnet add package FastSql.Core --version 2.1.0
                    
NuGet\Install-Package FastSql.Core -Version 2.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FastSql.Core" Version="2.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FastSql.Core" Version="2.1.0" />
                    
Directory.Packages.props
<PackageReference Include="FastSql.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FastSql.Core --version 2.1.0
                    
#r "nuget: FastSql.Core, 2.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FastSql.Core@2.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FastSql.Core&version=2.1.0
                    
Install as a Cake Addin
#tool nuget:?package=FastSql.Core&version=2.1.0
                    
Install as a Cake Tool

FastSql.Core

Light and convenient ORM Framework of .netcore

Demo:

class Program { static string sqlcon = "Data Source = 127.0.0.1;Initial Catalog = Test;User Id = sa;Password = sa@2019;"; static void Main(string[] args) { //连接配制

        DbConfig.SetSqlConnect(sqlcon);

        // FIND DATA
        var Sql = new CreateSql<Users>().Select().Where("ID=@ID");
        // UPDATA DATA
        // var Sql = new CreateSql<Users>().Updata().Where("ID=@ID");          
        // Delete DATA
        //  var Sql = new CreateSql<Users>().Delete().Where("ID=@ID");
        // exec sql
        using (var conn = new SqlConnection(sqlcon))
        {
            var rdata = conn.SqlQuery<Users>(Sql.ToSqlString(),new { ID=Guid.Parse("088941FE-075A-42C6-8937-5D1A1B795ACD") });
            Console.WriteLine(rdata.ToJsonString());
        }

   //Insert DATA
   {

            var Sql = new CreateSql<Users>().Insert();
            VAR parm= new Users();
             using (var conn = new SqlConnection(sqlcon))
        {
            var rdata = conn.SqlExecute(Sql.ToSqlString(),parm);
            Console.WriteLine(rdata);
        }

    }



        Console.ReadKey();
    }


    public class Users
    {
        [Key]
        public Guid ID { get; set; }
        public string Name { get; set; }
        public int Age { get; set; }
        public string Sex { get; set; }
        public string Addr { get; set; }
        public string Tell { get; set; }

    }
}
--------------------------------------------------------------------------------------------------------------------------------------------
2.0.0 Version 更新说明

注意:使用此方法时请先配制且加载默认数据库连接配制:

DbConfig.SqlConnectString="Data Source = 127.0.0.1;Initial Catalog = Test;User Id = sa;Password = sa@2019;"

1.查询表数据:

写法1:

var sql = new CreateSql<Users>().Select(); var rdata = DapperExt.QueryList(sql); 写法2:

var lsit= new CreateSql<Users>().Select().QueryList();

写法3:可以重载指定表名,或指定查询的字段如:

var sql = new CreateSql<Users>("Users").Select(new string[] {"Id","UserName" }); var rdata = DapperExt.QueryList(sql); 或者

var list= new CreateSql<Users>("Users").Select(new string[] {"Id","UserName" }). QueryList();

2.查询单个对象

var sql = new CreateSql<Users>().Select().Where("Id='843DB63F-252E-436F-B666-F4F8755793B8'"); var rdata = DapperExt.QueryList(sql);

或者

Var model=CreateSql<Users>().Select() .Where("Id='843DB63F-252E-436F-B666-F4F8755793B8'") .QueryFirst();

3.非锁表查询(常用于事务中查询) var sql = new CreateSql<Users>().SelectNoLock().Where("Id='843DB63F-252E-436F-B666-F4F8755793B8'"); var rdata = DapperExt.QueryList(sql); 或者

var data= new CreateSql<Users>().SelectNoLock().Where("Id='843DB63F-252E-436F-B666-F4F8755793B8'").QueryFirst();

4.新增操作

var model = new Users() { Id = Guid.NewGuid(), Age = 20, Sex = "女", UserName = "test", addr = "", CreateTime = DateTime.Now }; var sql = new CreateSql<Users>().Insert(); var rdata = DapperExt.Add(sql, model); 或者 var model = new Users() { Id = Guid.NewGuid(), Age = 20, Sex = "女", UserName = "test", addr = "", CreateTime = DateTime.Now }; var sql = new CreateSql<Users>().Insert().Add(model); 5.修改操作

var model = new Users() { Id = Guid.NewGuid(), Age = 20, Sex = "女", UserName = "test", addr = "", CreateTime = DateTime.Now }; var sql = new CreateSql<Users>().Updata().Where($"Id='843DB63F-252E-436F-B666-F4F8755793B8'"); var rdata = DapperExt.Modify(sql, model);

或者

var model = new Users() { Id = Guid.NewGuid(), Age = 20, Sex = "女", UserName = "test", addr = "", CreateTime = DateTime.Now }; var sql = new CreateSql<Users>().Updata().Where($"Id='843DB63F-252E-436F-B666-F4F8755793B8'").Modify(model);

6.删除操作

var sql = new CreateSql<Users>().Delete().Where($"Id='{data.Id}'");

var rdata = DapperExt.Remove(sql);

或者

var sql = new CreateSql<Users>().Delete().Where($"Id=@Id"); var rdata = DapperExt.Remove(sql,new { Id=Guid.Parse("F91BEE4E-67BE-4080-9C11-98C1A610F5C5") });

7.事务操作

说明:事务封装类:DapperTransaction,构造参数可以传入数据库连接字符串: var dt = new DapperTransaction(DbConfig.SqlConnectString) 1.事务处理操作:

var model = new Users() { Id = Guid.NewGuid(), Age = 20, Sex = "女", UserName = "test", addr = "", CreateTime = DateTime.Now };

using (var dt = new DapperTransaction(DbConfig.SqlConnectString))

{

var data = new CreateSql<Users>().Insert()

.Add(dt, model);

model.UserName = "69855";

var data2 = new CreateSql<Users>().SelectNoLock()

.Where($"Id='{model.Id}'").QueryFirst();

data2.UserName = "mystest";

var data3 = new CreateSql<Users>().Updata().Where($"Id='{data2.Id}'")

.Modify(dt, data2);

dt.Commit();

}


2.0.1 版本更新内容: 1.新增拉母表达式sql解析,例如:

       //select
       
        var sql = new CreateSql<Users>().Select(s => new { s.Id, s.UserName }).Where(w=>w.Sex=="男").QueryList();


        var user = new Users();
        
        //insert
        new CreateSql<Users>().Insert().Add(user);

        //update
        
        new CreateSql<Users>().Updata().Where(w=>w.Id==Guid.Empty).Modify(user);

        new CreateSql<Users>().Updata(u => u.UserName).Where(w => w.Id == Guid.Empty).Modify(user);

        //delete
        
        new CreateSql<Users>().Delete().Where(w=>w.Id==Guid.Empty).Remove();

2.0.2 版本更新内容: 新增DataTable返回数据方法的扩展实现。

  1. public static DataTable GetDataTable(this string sql)
  2. public static DataTable GetDataTable<T>(this CreateSql<T> createSql) where T : class, new()
  3. public static DataTable GetDataTable(string sql, Dictionary<string, object> sqlparam)
  4. public static DataTable GetDataTable<T>(this CreateSql<T> createSql, Dictionary<string, object> sqlparam) where T : class, new()

2.0.3 版本更新内容: 修改拉姆达解释时部份类型无法解析的BUG.

2.0.4:版本更新BUG内容: DbConfig.SqlConnectString 只读改为可赋值。

2.0.5:版本更新内容: 1.新增多数据库的实现 mysql,oracle,postgresql,sqlite,access

2.0.6:版本更新内容 1.优化查询条件,and,or 添加拉母达表达式。 2.优化数据库配制连接,新增DbConfig.SetSqlConnect(string con)函数,提升安全性。

2.0.7:版本更新内容 1.更新运行时为.net6.

2.0.8:版本更新内容 1、新增查询数据表总数函数 2、修复where条件中拉母代条件为BOOL值的BUG

2.0.9:版本更新内容 1、新查询生成类CreateSql新增时MYSQL数据库生成SQL语句存在的BUG。

2.1.0:版本更新内容 1、修复新增批量插入数据功能存在的BUG。 2、修复事务处理未支持多数据类型的问题。

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.1.0 716 12/3/2025
2.0.9 240 12/11/2024
2.0.8 357 4/23/2023
2.0.7 384 1/29/2023
2.0.6 622 3/23/2022
2.0.5 512 5/23/2021
2.0.4 519 5/19/2021
2.0.3 458 5/19/2021
2.0.2 674 4/22/2021
2.0.1 531 4/21/2021
2.0.0 452 4/21/2021
1.0.0 549 4/15/2021

ORM框架,MSSQL,MYSQL,ORCAL,SQLLITE 等主流数据库,的实现。