我對實體框架非常陌生,所以如果它是一個非常糟糕的問題,我很抱歉,但是我找不到對我有意義的解決方案。雖然我的問題很複雜,但我會盡量簡化它。假設我有兩個模型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
+--------------------------------------------------------------+
如可以看出公司實體可以有一個以上的公司地址。在我的ASP.NET MVC項目中,我也有ViewModel。
+--------------------CompanyCreateViewModel----------------+
| Company company
| CompanyAddress address
+---------------------------------------------------------+
這兩個屬性在視圖中填充並傳遞給控制器沒有問題。我的問題現在開始了。我應該如何插入這兩個實體?
比方說,我首先插入公司實體,然後用select語句獲取其primaryKey並將此值分配給CompanyAddress的外鍵並插入它。但是,這對我來說沒有意義,因爲我需要提供另一個主鍵請求。
我應該如何插入我的實體,什麼是最好的方法?對不起,很長的問題,謝謝。
我不明白你所說的這個陳述「但是,這對我來說沒有意義,因爲我需要提供另一個主鍵請求。」 - 爲什麼你認爲你需要爲同一個主鍵做出另一個請求鍵?一旦您爲公司調用SaveChanges(),您就會在該對象中擁有PrimaryKey。將其分配給CompanyAddress的外鍵並再次調用SaveChanges()。 – TheGeekYouNeed
嗯,不知道。正如我所說,我對orm和ef事物非常陌生。無論如何,這解決了我的問題:)請寫作答案,我可以接受它。謝謝... –
很高興幫助:) – TheGeekYouNeed