首先是 EF 数据库中的自定义属性
本文关键字:自定义属性 数据库 EF | 更新日期: 2023-09-27 18:32:55
美好的一天!
我已经使用数据库首先从数据库创建了一个 EF 模型,并向 EF 生成的实体类添加了几个只读属性,这些属性不在数据库中。每次更新模型时,都会从新表添加数据我丢失了创建的属性,所以我必须重新创建它们。
作为数据库中的一个例子,我有属性是女性,但在我的类中我创建了
public string Gender
{
get
{
if(isFemale) return "female";
else return "male";
}
}
我的问题有没有办法从数据库更新模型,留下我生成的属性?
谢谢!
在另一个分部类而不是生成的类上添加属性。 例如,如果生成的类的类型为 Person,则在同一项目中具有相同命名空间的另一个 Partial 类:
public partial class Person
{
public string Gender
{
get
{
if(isFemale) return "female";
else return "male";
}
}
}
使用分部类可以解决您的问题,但是:
- 分部类的所有零件必须在同一部件中定义
- 部分部件的属性不会持久保存到数据库中
- 部分零件中的属性不能在 linq 到实体中使用查询
阅读更多
你可以把你的类分成部分,把它分成两个文件,这是我在DatabaseFirst中使用它的方式。
public partial class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
public partial class Person
{
public string FullName {
get
{
return FirstName + " " + LastName;
}
}
}