2013-03-17 72 views
0

我有3個表格:文章,標籤和PostTag。郵政標籤表是郵政和標籤之間的交叉表,它解釋了與郵政相關的標籤(這種關係在MS SQL數據庫中設置)。實體框架中缺少Crosstable?

問題是PostTags在從數據庫更新模型的添加選項卡中不可見?它添加帖子和標籤表時不添加?如果我切換到刷新選項卡,我將看到PostTags表?

Model Browser> MainModel> Entity Types中沒有PostTag表格?

我可以看到直接從代碼中的帖子創建標籤表的引用,但是當嘗試這種方式時:Posts.Tags.Add它會要求標籤實體而不是PostTags實體?如果我反正運行它,它會抱怨標籤中的一列不能設置爲空。我不想向標籤表添加任何內容,只能添加到PostTags表中?

我在做什麼錯?

回答

0

這是正常的功能。

如果您有一個表格(PostTags),它是2個其他表格之間的鏈接,那麼它將在模型中顯示爲帖子和標籤之間的多對多關係。

如果要查看連接表,請在PostTags表中添加一個額外的字段。

如果您打開模型並查看xml源代碼,您可以看到它的工作原理。

編輯

如果你有這樣一行:

myPost.AddTag(myTag); 

此連接柱和標籤。當您調用SaveChanges時,EF將在PostTags表中添加一個條目。

+0

好吧我確實懷疑過,但是如何添加標籤來發布呢?這意味着我需要將行添加到PostTags表中。如果我鍵入Post。我只會得到標籤,如果我嘗試在這裏添加標籤,它會要求標籤實體(不正確)。 – Banshee 2013-03-17 17:51:52