繁体   English   中英

首先在EF数据库中自定义属性

[英]Custom properties in EF database first

美好的一天!

我使用数据库第一个aproach从数据库创建了一个EF模型,并将自己的几个只读属性添加到EF生成的实体类中,这些实体类不在数据库中。 每次我更新我的模型从新表添加数据时,我都会松开创建的属性,所以我必须重新创建它们。

作为数据库中的一个例子,我有属性isFemale,但在我的课堂上我创建了

public string Gender
{
    get
    {
           if(isFemale) return "female";
           else return "male";
     }
}

我的问题是有没有办法从数据库更新模型,留下我生成的属性?

谢谢!

在另一个Partial Class而不是生成的类上添加属性。 例如,如果生成的类是Person类型,则在具有相同名称空间的同一项目中定义另一个Partial类:

public partial class Person
{
    public string Gender
    {
        get
        {
            if(isFemale) return "female";
            else return "male";
         }
    }
}

使用部分类将解决您的问题,但:

  • 必须在同一个程序集中定义partial类的所有部分
  • 部分零件的属性不会保留到数据库中
  • 部分部件中的属性不能用于linq-to-entities查询

阅读更多

你可以让你的类部分并将它分成两个文件,这就是我在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;
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM