Entity FrameworksとLINQを使用してからしばらくしています。私はSQLのようなクエリを実行しようとしています。これは、親テーブルの外部キーを介して定義された1対多の関係でうまく動作します。LINQには同様のステートメントが作成されていません
myEntity.Where(me => me.relatedEntity.Name.Contains("a");
これは正しくSQLに似ています。しかし、私はジャンクション・テーブルを介して多対多リレーションシップをクエリすると、SQLにequalsステートメントが作成されます。
var name = "bo";
myEntity.Where(me => me.Users.Select(u => u.Name).Contains(name));
明らかなものがありませんか?ソースが文字列とソースが文字列のコレクションである第二1である、あなたの最初のクエリでは、正しいです
おかげ
2番目のバージョンでは、名前のコレクション内のエンティティに「実際に等しい」名前が含まれているかどうかを確認しています。あなたは 'me.Users.Any(u => u.Name.Contains(name)) 'を使用してください。 –