如何设置由实体框架从另一个部分类生成的类中的变量



我需要添加一个构造函数到一个由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; }
}
}

文件夹:Models(例如…)

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

…所有的属性都在那里。

相关内容

最新更新