FastSql.Core 2.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package FastSql.Core --version 2.0.0
                    
NuGet\Install-Package FastSql.Core -Version 2.0.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.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FastSql.Core" Version="2.0.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.0.0
                    
#r "nuget: FastSql.Core, 2.0.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.0.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.0.0
                    
Install as a Cake Addin
#tool nuget:?package=FastSql.Core&version=2.0.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) {

       //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 Version
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.新增拉母表达式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();
Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  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 520 5/19/2021
2.0.3 458 5/19/2021
2.0.2 675 4/22/2021
2.0.1 531 4/21/2021
2.0.0 452 4/21/2021
1.0.0 549 4/15/2021