我正在使用實體框架從數據庫中檢索博客數據。我有一個「BlogPost」類和一個「作者」類。一位作者可能有許多博客文章,但作者對象本身不包含他們的列表。就作者對象而言,它獨立於所有博客文章。實體框架 - 子對象中的外鍵
Author類的實例作爲BlogPost中的一個屬性包含在內。每個作者都有一個AuthorId。我想從我的數據庫中提取給定的博客,並讓作者對象填充相關數據。我已設法通過在我的博文類中的AuthorID屬性,使用下面的代碼映射對象要做到這一點:
this.HasRequired(t => t.Author).WithMany().HasForeignKey(x => x.AuthorId);
我想這樣做,但是,是能夠做同樣的事情但不必將AuthorId屬性直接包含在模型中。原因是,因爲作者對象已經包含相應的ID,所以我重複兩次相同的信息。我想沿着這些線路做一些事情:
this.Property(t => t.Author.Id).HasColumnName("id_user");
this.HasRequired<TwitterUser>(t => t.Author).WithMany().HasForeignKey(t => t.Author.Id);
那麼,有沒有什麼辦法不檢索作者子對象,而無需冗餘存儲的AuthorID在博客帖子對象旁邊的作者對象本身?
只有一個導航屬性的獨立關聯正常工作。你可以使用'HasRequired(t => t.Author).WithMany()'作爲默認的FK(帶有下劃線,'Author_Id'的東西)或追加'.Map(m => m.MapKey(「AuthorId」 ))'用於映射FK名稱的顯式。 – Slauma
@Slauma - 嗯..有趣的知道。我讀過的所有內容都說獨立關聯需要兩端的導航屬性。 –