如何设置由 Entity Framework 从另一个部分 class 生成的 class 中的变量
How to set the variables in a class that has been generated by Entity Framework from another partial class
我需要向 EF 自动生成的 class 添加一个构造函数,根据我的理解,要增强 EF 创建的任何 class,您需要创建另一个部分 class具有相同的名称,例如我的 EF 生成 class:
public partial class MyCoolClass // EF CLASS
{
public string VariableOne { get; set; }
public string VariableTwo { get; set; }
}
然后我会创建另一个部分 class 作为:
public partial class MyCoolClass // MY CLASS
{
public MyCoolClass(Foo fooObject)
{
VariableOne = fooObject.Var1 // VariableOne doesn't exist
}
}
但是,我无法在生成的 EF 中引用 VariableOne
和 VariableTwo
class,你能不这样做吗?
我问这个问题的原因是因为我的 EF class 有大约 20-30 个变量并且必须声明该 class 的新实例然后填充代码中的每个字段是乏味的,我想将设置变量的逻辑移动到构造函数中。
缺少变量的唯一原因可能是您在不同的命名空间中有两个 classes。部分classes通常是相同的class拆分成2个或更多文件。
所以,给两个 classes 相同的命名空间,独立于它们放置的位置,然后重试:
文件夹:实体
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;
}
}
}
...并且所有属性又出现了。
我需要向 EF 自动生成的 class 添加一个构造函数,根据我的理解,要增强 EF 创建的任何 class,您需要创建另一个部分 class具有相同的名称,例如我的 EF 生成 class:
public partial class MyCoolClass // EF CLASS
{
public string VariableOne { get; set; }
public string VariableTwo { get; set; }
}
然后我会创建另一个部分 class 作为:
public partial class MyCoolClass // MY CLASS
{
public MyCoolClass(Foo fooObject)
{
VariableOne = fooObject.Var1 // VariableOne doesn't exist
}
}
但是,我无法在生成的 EF 中引用 VariableOne
和 VariableTwo
class,你能不这样做吗?
我问这个问题的原因是因为我的 EF class 有大约 20-30 个变量并且必须声明该 class 的新实例然后填充代码中的每个字段是乏味的,我想将设置变量的逻辑移动到构造函数中。
缺少变量的唯一原因可能是您在不同的命名空间中有两个 classes。部分classes通常是相同的class拆分成2个或更多文件。
所以,给两个 classes 相同的命名空间,独立于它们放置的位置,然后重试:
文件夹:实体
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;
}
}
}
...并且所有属性又出现了。