Ian*_*ink 2 linq entity-framework entity-framework-5
简化。EF6
我有两个与 PersonId 相关的表
Person
PersonPK
FavouriteFood
PersonFK
FoodName
Run Code Online (Sandbox Code Playgroud)
我想要找到所有最喜欢“西红柿”食物的人
_db.Persons(p=>p.FavouriteFoods(???????))
Run Code Online (Sandbox Code Playgroud)
Person看起来 a和之间存在一对多关系FavouriteFoods,您可以得到如下结果:
var query = _db.Person
.Where(r=>
r.FavouriteFoods.Any(t => t.FoodName == "Tomatoes"));
Run Code Online (Sandbox Code Playgroud)
Person如果和之间没有关系,那么您可以从 中FavouriteFoods获取 Distinct,然后从表中获取记录。PersonFKFavouriteFoodPerson
就像是:
var query = _db.Person
.Where(r=> _db.FavouriteFoods
.Where(r=> r.FoodName == "Tomatoes")
.Select(t=> t.PersonFK)
.Distinct()
.Contains(r.PersonPK));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2909 次 |
| 最近记录: |