我有一个实体,它的主键为 int,主键设置为 storegeneratedpattern = none,以便我们提供 id 客户端。
该实体具有通过与导航和外键 id 的关联来引用回它的子实体。
如果我创建一个新的父实体并添加一个子实体,然后设置父实体主键并保存,则子实体的外键修复发生在保存之后并且不会持久化到数据库中。
例如
engine = new Engine();
part = new Part();
engine.Parts.Add(part);
engine.Id = 6;
engineRepository.Save(engine);
保存很简单
Context.Engines.AddObject(entity);
Context.SaveChanges();
保存后“部分”将有一个外键“EngineId”= 6,但在数据库中它将是“EngineId”= 0,即看起来修复发生在保存之后。
我在这里想念什么?如果引擎的存储生成模式是身份,这一切都很好。