Rob*_*ste 6 c# relationship entity-framework-core ef-core-2.2
可能是一个愚蠢的问题,但我在这里有点困惑。
我有一个包含孩子列表的父实体。
public class Parent
{
public int Id { get; set; }
public List<Child> Children { get; set; }
}
public class Child
{
public int Id { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
EFcore 将ParentId
在表中创建一个作为外键Child
。
现在,假设我想检索所有具有特定父级的孩子,我该怎么做?该ParentId
不是可用的Child
对象。
因此,我不能做这样的事情:
var result = model.Child.Where(child => child.ParentId == 3);
Run Code Online (Sandbox Code Playgroud)
我可以将ParentId
属性添加到实体中的子项,但我真的不希望手动分配此属性。如果我仅通过指定 getter 将其设置为只读,则迁移将不再起作用。
EF Core 允许您使用EF.Property方法访问LINQ to Entities 查询中关联的影子属性:
解决实体实例上的给定属性。当您想要在 LINQ 查询中引用影子状态属性时,这很有用。目前该方法只能在LINQ查询中使用,不能用于其他场景中访问分配给属性的值。
您只需要知道名称和类型 - 在您的情况下,它们是“ParentId”和int?
(可选):
var result = model.Child.Where(child => EF.Property<int?>(child, "ParentId") == 3);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4243 次 |
最近记录: |