Den*_*niz 9 entity-framework row return composite-key
public class UserBuilding
{
[Key, Column(Order = 0)]
public int UserId { get; set; }
[Key, Column(Order = 1)]
public int BuildingId { get; set; }
public int BuildingLevel { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如果我想要返回属于用户的所有不同建筑物,我会执行以下操作:
database.UserBuildings.Where(b => b.UserId == userId);
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果我想从特定用户返回特定建筑物,该怎么办?这样做最"有效"的方式是什么?有没有比以下更好的方法(例如内置函数):
database.UserBuildings.Where(b => b.UserId == userId && b.BuildingId == buildingId);
Run Code Online (Sandbox Code Playgroud)
Ser*_*kiy 17
我想你正在寻找DbSet.Find方法.此方法按主键查找实体.如果您有复合主键,则按照它们在模型中定义的顺序传递键值:
var userBuilding = database.UserBuildings.Find(userId, buildingId);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7469 次 |
| 最近记录: |