簡體   English   中英

如何在實體框架從另一個部分類生成的類中設置變量

[英]How to set the variables in a class that has been generated by Entity Framework from another partial class

我需要將構造函數添加到由 EF 自動生成的類中,據我了解,以增強由 EF 創建的任何類,您將創建另一個具有相同名稱的部分類,例如我的 EF 生成的類:

public partial class MyCoolClass  // EF CLASS
{
    public string VariableOne { get; set; }
    public string VariableTwo { get; set; }
}

然后我會創建另一個部分類:

public partial class MyCoolClass  // MY CLASS
{    
   public MyCoolClass(Foo fooObject) 
   {
        VariableOne = fooObject.Var1 // VariableOne doesn't exist
   }
}

但是,我無法在 EF 生成的類中引用VariableOneVariableTwo ,你能不這樣做嗎?

我問這個問題的原因是因為我的 EF 類大約有 20-30 個變量,並且必須聲明該類的一個新實例,然后填充代碼中的每個字段是乏味的,我想移動設置的邏輯變量到構造函數中。

缺少變量的唯一原因可能是兩個類都位於不同的命名空間中。 部分類通常是同一類拆分為 2 個或更多文件。

所以,給這兩個類相同的命名空間,獨立於它們的放置位置,然后再試一次:

文件夾:實體

namespace Same.Namespace.Location
{
    public partial class MyCoolClass
    {
        public string VariableOne { get; set; }

        public string VariableTwo { get; set; }
    }
}

文件夾:模型(例如...)

namespace Same.Namespace.Location
{
    public partial class MyCoolClass
    {
        public MyCoolClass(Foo fooObject)
        {
            this.VariableOne = fooObject.Var1; 
        }
    }
}

...所有屬性都再次出現。

暫無
暫無

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

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