EF6中的挑战
运行此命令(本质上添加实体记录)后如何检查数据库中结果行的ID:
0
0 1,2,3-triazole
1 16s rrna gene amplicons
...并使用该ID将具有X =属性的第二个实体添加到第一个实体的ID中?
使用该ID将具有属性X =的第二个实体添加到第一个实体的ID中?
repository.Add(myEntity1);
现在实体1和实体2之间没有链接,因为我不知道第一次添加后如何保存id(由ef自动生成) ...并将其保留为在第二个实体中添加为fk?
非常感谢
答案 0 :(得分:0)
您可以在致电SaveChanges
之后尝试以下操作:
myEntity2.X = myEntity1.Id;
然后再次呼叫SaveChanges
。但是,这并没有真正利用实体框架的功能来管理实体之间的关系。如果您的班级定义如下:
public class MyEntity
{
[Key]
public int Id { get; set; }
[ForeignKey(nameof(RelatedEntity))]
public int RelatedEntityId { get; set; }
public MyEntity RelatedEntity { get; set; }
}
您可以添加如下所示的实体,并在调用SaveChanges
之后为您处理ID /外键匹配:
myEntity1.RelatedEntity = myEntity2;
这是一个相当通用的解决方案,因此,如果您想要更具体的内容,则需要在问题中包含更多详细信息。
您可以阅读有关配置实体框架关系here的更多信息。