[英]How to make this linq expression?
我有一个数据库,该数据库中具有属性如“ 12.34.56.78”的数据。
为了获得此数据,我使用
using (Data context = new Data(connection, compiledModel, true))
{
}
现在,我只想获取第一个和第二个数字与我的值相同的数据。
我已经试过了:
myData = context.Where(x => x.Numbers.Split('.')[0] == firstNumber && x.Numbers.Split('.')[1] == secondNumber)
但这只会给我这个错误:
System.NotSupportedException:'LINQ to Entities不支持LINQ表达式节点类型'ArrayIndex'。
我如何写这个表达式来得到我想要的?
编写IQueryable
查询时,应始终考虑如何将其转换为SQL查询。
您将如何通过简单的SQL查询做到这一点?
SQL中没有Split
,因此您可能会执行以下操作:
SELECT * FROM Table WHERE Numbers LIKE '12.34.%'
这等效于以下LINQ:
string prefix = $"{firstNumber}.{secondNumber}.";
myData = context.Where(x => x.Numbers.StartsWith(prefix));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.