代码拉取完成,页面将自动刷新
string ParamSql();
(string paramsql, TEntity entity) ParamSqlWithEntity();
返回形如下列SQL语句:
var repository = MsSqlRepoFactory.Create<ToDo>();
var results = repository.Query().Where(c => c.Id == 6).Go().FirstOrDefault();
Console.WriteLine(resultinsert.ParamSql());
1、 INSERT ToDo ( CreatedDate , IsCompleted , Task )
VALUES(@CreatedDate,@IsCompleted,@Task);
var resultinsert = repository.Update().For(results);
Console.WriteLine(resultinsert.ParamSql());
2、 UPDATE ToDo
SET CreatedDate = @CreatedDate, IsCompleted = @IsCompleted, Task = @Task
WHERE Id = @Id;
以解决储如Dapper等ORM工具需要参数类型字符串需求
SqlRepoEx中是可以与 Dapper 同时并存,意味着初始化SqlRepoEx后,
1、可以直接从 SqlRepoEx 中操作返回结果;
2、可以通过 SqlRepoEx 来生成SQL语句,另外Dapper 主要是基于SqlMapper ,SqlMapper中定义了基于 IDbConnection 接口的操作,你可以通过SqlRepoEx 的 IConnectionProvider 接口来获取一个 DbConnection
有两种方法
(1)、 var connectionProvider = new AppConfigFirstConnectionProvider();
IDbConnection dbConnection = connectionProvider.GetDbConnection;
(2)、 var repository = MsSqlRepoFactory.Create<ToDo>();
IDbConnection dbConnection = repository.GetConnectionProvider.GetDbConnection;
MsSqlRepoFactory.UseStatementTransactionExecutor();
public void DoTransactionIt()
{
var repository = MsSqlRepoFactory.Create<ToDo>();
var results = repository.Query().Where(c => c.Id < 6);
foreach (var item in results.Go())
{
Console.WriteLine($"{item.Id}\t {item.Task} ");
}
using (var tranc = repository.GetConnectionProvider.BeginTransaction())
{
repository.Update().Set(c => c.Task, "A01").Where(c => c.Id == 1).Go();// A1
repository.Update().Set(c => c.Task, "B01").Where(c => c.Id == 2).Go();// B2
tranc.Rollback();
}
foreach (var item in results.Go())
{
Console.WriteLine($"{item.Id}\t {item.Task} ");
}
Console.WriteLine(results.Sql());
}
更改保留了原有特性,但不会长期支持并存,请使用新的特定标识
SqlRepoDbFieldAttribute
标识是否为数据字段,主要是因为
增加 SimpleWritablePropertyMatcher 属性判断器,
1、增加SqlRepoDbFieldAttribute特性后,如果用户程序仍然为POJO类型,不必标识SqlRepoDbFieldAttribute时,用SimpleWritablePropertyMatcher
2、如果明确要区分,就用WritablePropertyMatcher ;
string ConnectionString = "Data Source=(Local);Initial Catalog=Northwind;User ID=test;Password=test";
var connectionProvider = new ConnectionStringConnectionProvider(ConnectionString);
MsSqlRepoFactory.UseConnectionProvider(connectionProvider);
MsSqlRepoFactory.UseWritablePropertyMatcher(new SimpleWritablePropertyMatcher());
var repository = MsSqlRepoFactory.Create<Customers>();
增加对 byte[]类型的支持,但应注意,其 byte[]格式成 Convert.ToBase64String() 后,SQL字串的总体长度不能超过8000字符。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。