C# .NETCore EF执行SQL语句 字符串转FormattableString


EF 直接执行SQL语句,需要使用FormattableString类型

我们无法直接把字符串传入 ExecuteSql中执行,会报错

无法从"string"转换为"System,FormattableString"

C# .NETCore EF执行SQL语句 字符串转FormattableString

 

正确使用方法:

利用FormattableStringFactory.Create来创建一个FormattableString字符串

C# 全选
var _sql = FormattableStringFactory.Create("sql字符串");
await _businessContext.Database.ExecuteSqlAsync(_sql, cancellationToken);

如果要使用带参数:

C# 全选
var _sql2 = FormattableStringFactory.Create("select count(*) from tmp_data as ta where ta.business_code={0} and ta.batch_id={1} ", _operator.BusinessCode, batch_id);

注意,会转换为命令参数,因此参数不能包含单引号 '',如果包含了单引号,反而会查不出数据

 

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
张国生
上一篇:C# XML 序列化与反序列化详解及实战示例
下一篇:.NET 高效依赖注入:使用 Lazy<T> 和工厂模式优化性能与内存占用
评论列表

发表评论

评论内容
昵称:

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码