2010-03-02 44 views
0

我想在我的模型中的表上創建一個新的屬性..基本上我有一個表稱爲契約,它有很多字段,但我想添加另一個字段稱爲客戶端,將保存我的另一個表稱爲客戶端..Entity Framework 4.0:在表上添加一個屬性以保存另一個表中的實體?

我試着玩弄複雜的類型,但我不知道是否這是它....然後我發現導航屬性...這聽起來有趣...像一個鏈接到客戶端可能?? ..但我似乎指向任何地方..

基本上合同表/模型需要一個新的屬性稱爲客戶端...客戶端實際上是一個實體,但客戶必須旅行合同。

這是怎麼做的?

我想在模型中設置這個,所以我可以自動更新型號等....並沒有丟失任何自定義更改..

我當然可以只需要插入一些內容部分類上的另一個文件...

任何想法?

感謝

+0

我已經成功地在模型上添加了一個關係,代碼生成自動生成文件..我不知道是否有人可以證實這是一個好方法?或者更好地創建一個新文件(.cs)並添加到PARTIAL CLASS中並手動添加... ???這意味着我的模型是乾淨的,即模型只包含db中的項目? – 2010-03-02 14:53:19

+0

定義模型中的關係以在部分類中實現好得多。如果在模型中定義了關係,即使數據庫不存在,也會強制執行完整性;而如果您使用的是部分類,則必須自己編寫執行代碼。 – 2010-03-02 14:58:22

回答

1

什麼你正在試圖做的是通常通過適當定義數據庫表之間的主/外鍵關係(或模型中的字段之間,如果你正在做模型驅動實現設計)。

實體框架將自動奇蹟般地查看錶之間的外鍵關係,並在父類上生成一個屬性來保存該子項。

至於您的評論(這是更好的,定義模型中的關係或者創建部分類):

這是迄今爲止最好定義模型中的關係,部分類來實現。如果在模型中定義了關係,即使數據庫不存在,也會強制執行完整性;而如果您使用的是部分類,則必須自己編寫執行代碼。

+0

嗨賈斯汀,呃,所以如果我在一個部分類的手動代碼手冊,我會錯過什麼?參照完整性???或者是其他東西? – 2010-03-02 15:40:36

+0

是的。參照完整性將會丟失。就像我說的,你可以手動編碼它......但爲什麼要浪費精力呢? – 2010-03-02 16:03:37

0

如果可能,我想你會想要在你的客戶端的主鍵上添加一個外鍵到你的合同表中。然後你可以點擊「更新模型」,它將添加一個導航屬性到你的模型。

+0

嗨斯科特......是的,但我不想在數據庫本身中進行任何更改,我可以在模型上添加外鍵嗎? – 2010-03-02 14:47:02

+0

是的,它似乎我可以手動添加它! – 2010-03-02 14:51:16

+0

很高興看到它的作品! – Scott 2010-03-02 14:57:38

相關問題