检查以下代码:
public IEnumerable<Query> GetAllQueries_FilteredOnCurrentUsersInvolvement(User user)
{
var queries = _genericUnitOfWork.GenericRepository<Query>().Get(q =>
q.AuthorUserID == user.ID ||
q.ConsultantUserID == user.ID ||
q.CreatorUserID == user.ID ||
q.EngagementPartnerUserID == user.ID ||
q.EQCRPUserID == user.ID ||
q.LeadPartnerUserID == user.ID ||
q.RMPUserID == user.ID ||
(!string.IsNullOrEmpty(q.OthersInvolvedUserIDs) && q.OthersInvolvedUserIDs.Split(',').Contains(user.ID.ToString())),
includeProperties: "NatureOfQuery");
return queries;
}
它可以很好地编译。但是,当您运行代码时:
{" linq to实体不识别方法'system.string [] 拆分(char [])'方法,此方法不能翻译成 商店表达式。"}
我可以自己编写T-SQL代码。如何使Linq到实体了解如何处理?
p.s>此Nuget软件包可以解决此问题吗?
建议的重复链接,没有提供任何解决此问题的答案。所以不,那没有回答这个问题。
拆分操作与查询一起发送,因此需要将其转换为SQL函数。这不是实现的,因此不起作用。您需要检索数据并在内存中执行拆分。