2012-02-09 100 views
1

我使用Asp.net MVC3和實體框架4設置了博客。博客帖子的大多數屬性已存在於數據庫中,因此可以輕鬆鏈接到博客在創作過程中發佈。在創建另一實體的同時添加未知實體

我添加的最後一個元素是來源,這些來源有一個直接鏈接到我的BlogPost,並且必須在創建BlogPost期間添加。我的想法是使用博客帖子實體的實體屬性源,如:

blogPost.Sources.Add(new Source() { Name = source.Value, Url = source.Key.ToString(), Type = "source" }); 

不幸的是我不能創建並添加源這樣,我得到了錯誤:「無法插入顯式值對於IDENTITY_INSERT設置爲OFF時表'Source'中的標識列。「

我想這是ID列的原因,它具有打開身份增量的身份,但我不會自己設置任何ID。我試圖讓id = null,但由於它不是無效的,所以它也是不允許的。 我相信關掉這個功能讓我用我自己的ID添加記錄,但這不是我想要的。數據庫應該創建ID。

有沒有辦法在創建過程中添加這些屬性?

+0

您使用什麼EF?先編碼,先編碼? Source對象是否具有Id屬性?它是如何映射的? – 2012-02-09 19:54:42

+0

我使用EF版本4,它是從我的數據庫模型生成的。 – DerDee 2012-02-10 08:23:35

+0

來源通過Source表中的「BlogPostID」字段映射到blogpost。來源 ![圖片](http://img593.imageshack.us/img593/1586/82411220.png)。 – DerDee 2012-02-10 08:34:24

回答

0

我通過從數據庫中再次添加Source實體來解決問題,顯然實體框架模型是在字段設置爲Identity Increasing之前生成的,因此想要插入它自己的ID。

相關問題