我对 Entity Framework 很陌生,如果这是一个非常糟糕的问题,我深表歉意,但我找不到对我有意义的解决方案。虽然我的问题很复杂,但我会尽量简化它。假设我有两个模型 Company 和 CompanyAddress。
+--------------------Company---------------------------------------+
| int CompanyId
| string CompanyName
|
| virtual <ICollection>CompanyAddress address // Navigation Property
+-------------------------------------------------------------------+
和,
+--------------------CompanyAddress---------------------------+
| int CompanyAddressId
| string Address
|
| int CompanyAddressId // Foreign Key to Address Table
| virtual CompanyAddress address // Related Navigation Property
+--------------------------------------------------------------+
可以看出,Company 实体可以有多个 CompanyAddress。在我的 ASP.NET MVC 项目中,我也有 ViewModel。
+--------------------CompanyCreateViewModel----------------+
| Company company
| CompanyAddress address
+---------------------------------------------------------+
这两个属性在视图中填充并毫无问题地传递给控制器。我的问题从现在开始。我应该如何插入这两个实体?
假设我先插入 Company 实体,然后使用 select 语句获取其 primaryKey 并将此值分配给 CompanyAddress 的外键并插入它。但是,这对我来说没有意义,因为我需要再次请求主键。
我应该如何插入我的实体,最好的方法是什么?对不起,很长的问题,谢谢。