簡體   English   中英

局部類,以編程方式重命名Entity Framework 5中的導航屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM