自從我使用實體框架和LINQ以來已經有一段時間了。我正在嘗試執行SQL查詢。這可以在通過父表中的外鍵定義的一對多關係中正常工作。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));
我是否缺少明顯的東西?
感謝
你正在檢查的第二個版本,如果名稱集合中的任何實體「包含」的確是相同的名稱。你應該使用'me.Users.Any(u => u.Name.Contains(name))' –