首先在 EF 代码中为扩展模型 Classes 创建一个 Class
Create a Class for extend Model Classes in EF code first
我有一个模型 class,它在我的数据库中有例如 3 个属性和相应的 table。
public partial class Person
{
public string prop1 {set; get;}
public string prop2 {set; get;}
public string prop3 {set; get;}
}
现在我想要派生 属性,例如使用 prop1
和 prop3
创建:
prop4 = prop1 + prop3;
我想将 Person
扩展为 prop4
。我为 Person
创建了部分 class 以具有 prop4
:
public partial class Person
{
public string prop4 {set; get;}
}
但是当我 运行 应用程序时我得到了这个错误:
Invalid column name 'prop4'
我把上面的class改成这样:
public class PersonViewModel : Person
{
public string prop4 { get; set; }
}
Invalid column name 'Discriminator'.\r\nInvalid column name 'Discriminator'.\r\nInvalid column name 'Discriminator'.\r\nInvalid column name 'prop4'
但是如果我像这样创建一个 class 一切都很好:
public class PersonViewModel
{
public string prop1 {set; get;}
public string prop2 {set; get;}
public string prop3 {set; get;}
public string prop4 {set; get;}
}
但使用此解决方案我应该重写 ViewModel classes 中的所有属性。还有其他方法吗?
谢谢
使用 NotMapped 属性或流畅的 API 忽略方法 Ignoring a class property in Entity Framework 4.1 Code First
我有一个模型 class,它在我的数据库中有例如 3 个属性和相应的 table。
public partial class Person
{
public string prop1 {set; get;}
public string prop2 {set; get;}
public string prop3 {set; get;}
}
现在我想要派生 属性,例如使用 prop1
和 prop3
创建:
prop4 = prop1 + prop3;
我想将 Person
扩展为 prop4
。我为 Person
创建了部分 class 以具有 prop4
:
public partial class Person
{
public string prop4 {set; get;}
}
但是当我 运行 应用程序时我得到了这个错误:
Invalid column name 'prop4'
我把上面的class改成这样:
public class PersonViewModel : Person
{
public string prop4 { get; set; }
}
Invalid column name 'Discriminator'.\r\nInvalid column name 'Discriminator'.\r\nInvalid column name 'Discriminator'.\r\nInvalid column name 'prop4'
但是如果我像这样创建一个 class 一切都很好:
public class PersonViewModel
{
public string prop1 {set; get;}
public string prop2 {set; get;}
public string prop3 {set; get;}
public string prop4 {set; get;}
}
但使用此解决方案我应该重写 ViewModel classes 中的所有属性。还有其他方法吗?
谢谢
使用 NotMapped 属性或流畅的 API 忽略方法 Ignoring a class property in Entity Framework 4.1 Code First