Ian*_*ers 5 c# entity-framework ef-code-first .net-4.5 entity-framework-6
环境
模型

代码片段中的模型
public class MainEntity
{
public long Id { get; set; }
public virtual Collection<ChildEntity> ChildEntities { get; set; }
}
public class ChildEntity
{
public long Id { get; set; }
public MainEntity ParentMainEntity { get; set; }
public virtual Collection<ChildEntity> ChildEntities { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
注意:ChildEntity只有一层深的ChildEntities可以作为孩子.
问题
我能够坚持这个模型.这似乎工作正常.只有一个问题.当我存储ChildEntity具有父ChildEntity.该MainEntity_id字段为空,只有ParentChildEntityId设置.我希望始终设置MainEntity_Id字段的原因是用于性能查询.
如何强制MAINENTITY_ID字段始终在更深层次设置值?
第一的:
将外键留在 POCO 之外会给自己带来麻烦。MainEntityId向您添加属性将使您能够设置 new与 aChildEntity的关系 。ChildEntitiesMainEntity
第二:
var newChild =new ChildEntity();
parentEntity.ChildEntities.Add(newChild);
parentEntity.ParentMainEntity.ChildEntities.Add(newChild);
Run Code Online (Sandbox Code Playgroud)
应该根据您加载实体的方式以及哪些实体已附加到或将附加到 dbContext 来工作。
| 归档时间: |
|
| 查看次数: |
219 次 |
| 最近记录: |