Linq to entities - Lambda - 连接字符串
本文关键字:连接 字符串 Lambda Linq entities to | 更新日期: 2023-09-27 18:33:20
我想使用 lambda 连接一个字符串,以将该连接值与某个条件进行比较。
Invoices = Invoices.Where(f => ((string)f.invoice_prefix + String.Format("{0:0000}", Convert.ToInt32(f.invoice_number))).ToLower().Equals(condition7));
但是我收到一条错误消息:
名称"f"在当前上下文中不存在
尝试了几个 String.Format 和 String.Concat 变体,例如
Invoices = Invoices.Where(f => (String.Format("{0}{1}",f.invoice_prefix,String.Format("{0:0000}", Convert.ToInt32(f.invoice_number)))).ToLower().Equals(condition7));
但没有成功...有人可以帮助我语法吗?
提前感谢!
Linq to Entities不了解所有的.NET框架方法。
为了在数据库上将其作为 SQL 语句运行,只需使用可转换为 SQL 的运算符。这意味着您需要使用基元数据类型重写谓词。
所以像这样:
string prefixCondition = ...
int invoiceNumberCondition = ...
Invoices.Where( f =>
f.invoice_prefix == prefixCondition
&&
f.invoice_number == invoiceNumberCondition
)
我建议使用 LinqPad 进行测试,因为它显示了生成的 SQL 语句。