1
雖然我用.Identity()
標記了我的ID列,但生成的數據庫架構沒有將IDENTITY
設置爲true,這會在添加記錄時出現問題。如果我手動編輯數據庫模式(在SQL Management Studio中)以使Id
列標記爲IDENTITY
,那麼所有內容都可以按照我的要求工作 - 我無法讓EF自己做這件事。在db中將列映射爲IDENTITY
這是我的完整映射:
public class EntryConfiguration : EntityConfiguration<Entry>
{
public EntryConfiguration()
{
Property(e => e.Id).IsIdentity();
Property(e => e.Amount);
Property(e => e.Description).IsRequired();
Property(e => e.TransactionDate);
Relationship(e => (ICollection<Tag>)e.Tags).FromProperty(t => t.Entries);
}
}
由於我使用的是EF來構建和重新構建集成測試數據庫,我真的需要這個自動完成...
編輯: 嗯......在評論中,我被要求提供足夠的代碼來執行此操作,所以我將代碼剪切並粘貼到控制檯應用程序中(這樣您就不需要我所有的類...)突然它就起作用了。我想我忘了一些方法調用的地方,雖然我一直無法弄清楚在哪裏。
我會在這篇文章的答案中發佈工作解決方案代碼,以防別人來找它。
如果您能提供運行所需的代碼/試試這個地方我想給它看看這裏發生了什麼。 – 2010-04-08 22:13:56