Linq to 实体无法处理 string.split() 函数



检查以下代码:

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函数。这不是实现的,因此不起作用。您需要检索数据并在内存中执行拆分。

最新更新