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> 和工厂模式优化性能与内存占用
评论列表

发表评论

评论内容
昵称:
关联文章

C# .NETCore EF执行SQL语句 字符串FormattableString
GZDBHelper中GetDataSet方法,执行SQL语句,返回DataSet结构
GZDBHelper中GetTable方法,执行SQL语句,返回DataTable结构
Linq to SQL语句基础讲解
EF强制生成SQL 2008兼容的SQL语句
GZDBHelper中ExecuteScalar方法,执行SQL语句,返回第一行第一列
GZDBHelper中ExecuteDataReader方法,执行SQL语句,并返回指定对象集合
GZDBHelper中HasRow方法,执行SQL语句,判断是否有返回数据
C#代码:byte[] 十六进制字符串
C# 十六进制字符串byte[],Byte[] String
C# 使用Newtonsoft对象JSON字符串的时候日期类型的处理
EF Code First
C#汉字拼音
EFCore DbContext扩展执行原生SQL查询对象集合
RSA PrivateKey私钥字符串PEM格式证书
EF 分页 SQL2008 报错 Featch Next
EF 值转换
C# 执行Javascript脚本
SQL字符串逗号隔开为表结构ufn_SplitEx
Python对象json字符串

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