2
は、次のコードを点検機能:それはうまくコンパイルは(の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は、メソッド『[] 分割可能System.String(シャア[])』メソッドを認識しない、そしてこの方法は ストア式に変換することができません。 "}
私はT-SQLコードを自分で書くことができます。エンティティへのLINQの作成方法を理解する方法は?
P.S>はthis nuget packageこれを解決することはできますか?
提案重複リンクは、この問題を解決するためにどのように任意の答えを提供していません。だから、この質問には答えられませんでした。
私も今これを読んでいます:http://stackoverflow.com/questions/23929801/linq-to-entities-does-not-recognize-the-method-system-string-splitchar-m –
@wkl同じエラーただし、このソリューションはここでは適用できません。 – Rob
式の 'q.OthersInvolvedUserIDs.Contains(user.ID.ToString())'を大まかな事前選択として使い、スプリットされたユーザーIDを調べてメモリ内の結果を絞り込む必要があると思います。 –