【发布时间】:2014-11-20 21:01:02
【问题描述】:
我需要更新一个有两个孩子的实体,该实体还有两个都依赖于父母双方的孩子。
Job(PK: Jobid)
Holes(PK: Holeid, FK: Jobid) / Orders(PK: Orderid, FK: Jobid)
Tools(PK: Toolid, FK: Holeid, FK: Orderid) / ToolHoles(PK: Holeid, Orderid)
Tools 还有 7 个继承自它的子代。
保存时该作业已经存在。该作业可能已经包含也可能不包含每个子实体中的一个或多个。
我需要能够将所有这些信息保存在一个事务中,这样部分信息就不会保存到数据库中。
我目前的尝试是使用所有相关信息构建 Job 实体并调用 SaveChanges。如果我要添加新实体,则必须在保存时为除 Jobid 之外的所有实体生成密钥。我正在努力实现的目标是否可能?
【问题讨论】:
-
如果您要问“EF 是否会跟踪新密钥并适当地更新子密钥”,那么答案是“是”
-
即使孩子会从父母双方那里得到新钥匙?
标签: c# asp.net-mvc entity-framework