簡體   English   中英

向實體框架添加自定義屬性?

[英]Adding A Custom Property To Entity Framework?

我第一次使用實體框架,想知道是否可以進行以下操作-我已經從數據庫生成了我的類,並且有一個名為Category的類。

顯然,它在表中具有我的所有字段(ID,CategoryName,SortOrder等。),但我想知道是否可以添加一個不在表中但實際上是自定義方法的結果的自定義屬性。

我想添加一個名為“ CategoryURL”的新屬性,該屬性基本上是通過自定義方法運行的“ CategoryName”屬性,並返回帶連字符的字符串。

我最初的想法是從生成的Category類繼承並在內部創建類似這樣的東西?

public string CategoryURL 
{
    get{ return MyCustomMethod(this.CategoryName) }
}

這是正確的方法嗎? 而且“ this.CategoryName”會按我認為的那樣工作嗎? 基本上,最終結果是當我返回“類別”列表時,我希望它成為該類的一部分,以便可以在我的foreach循環中使用它。

希望這有意義嗎?

您應該使用partial類:

public partial class Category
{
    public string CategoryURL  
    { 
        get{ return MyCustomMethod(this.CategoryName); } 
    } 
}

這樣this.CategoryName將按預期工作。

這是可行的,因為由實體框架代碼生成器生成的類也會生成partial類。 這也意味着您可以從數據庫中安全地重新生成類,而不會影響您自己定義的部分類。

您應該將[NotMapped]屬性添加到屬性中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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