{“LINQ to Entities不识别方法';Boolean IsLetter(Char)';方法,并且
本文关键字:方法 IsLetter Char 并且 Boolean 识别 to LINQ Entities | 更新日期: 2023-09-27 18:29:50
我想使用LINQ获取数据库中的所有项目,其中标题以特殊字符或数字开头,我已经尝试了下面的代码,但它不起作用。
感谢
result = (from asset in _db.Query<Asset>()
where !char.IsLetter(asset.Title[0])
select new AssociatedItem { Id = asset.AssetId, Title = asset.Title, Type = Constants.FeedbackTypes.ASSET }).ToList();
这是因为char。IsLetter不是dbFunction。
您可以在转换结果ToList()
后应用where
result = (from asset in _db.Query<Asset>()
select new AssociatedItem { Id = asset.AssetId, Title = asset.Title, Type = Constants.FeedbackTypes.ASSET }).ToList()
.Where(a => !char.IsLetter(a.Title[0])).ToList();
PS:尝试为数据库查询识别一些其他where子句以限制结果。
我会尝试System.Data.Linq.SqlClient
命名空间中的SqlMethods
类。
result = (from asset in _db.Query<Asset>()
where !SqlMethods.Like(asset.Title, "[a-Z]%")
select
new AssociatedItem
{
Id = asset.AssetId,
Title = asset.Title,
Type = Constants.FeedbackTypes.ASSET
}).ToList();