[英]Partial Class to Programatically Rename Navigation Property in Entity Framework 5
我正在使用Entity Framework 5,.NET 4.5在C#中工作
據我了解,Entity的最佳實踐是在擴展或修改基本功能時使用局部類,這樣在重建模型時就不會丟失更改。
我有一個帶有兩個FK的表到另一個表,如下所示:
ItemTable:
ID
Name
ParentChildTable:
ChildID (FK to ItemTable.ID)
ParentID (FK to ItemTable.ID)
從數據庫構建EDMX時,它會正確讀取FK關系並創建適當的對象引用。 不幸的是,導航屬性的命名很差,例如。 ItemTable和ItemTable1。 我想重命名導航屬性,並且可以通過設計器來重命名,但是想知道是否可以在部分類中進行重命名。
我的最終目標只是將導航屬性命名為ChildItem和ParentItem,而不是自動生成的ItemTable和ItemTable1。 我完全了解如何創建部分類,裝飾屬性等。我只需要一個正確方向的指針即可了解如何處理此導航屬性方案。
謝謝你的時間。
我以前在遞歸關系中遇到過這個問題,但是為什么要在代碼中更改它們呢? 我認為您最好在設計器本身中做,這也使跟蹤更改的內容變得容易得多。
話雖如此,我認為您不能“重命名”代碼中的屬性。 你可以做這樣的事情
public partial class ItemTable
{
public ItemTable ChildItem
{
get
{
return this.ItemTable;
}
}
public ItemTable ParentItem
{
get
{
return this.ItemTable1;
}
}
}
您可以嘗試@jere的答案,但添加[NotMapped]數據注釋,因此當EF與數據庫一起使用時,EF不會嘗試映射這些新屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.