0

我使用了实体框架,它为我生成了一些实体类我想向其中一个添加属性,其中有很多字段和属性,当我要向实体类添加属性时,我必须创建子类是从我的实体类继承的,那么我通常会写这个并且它可以工作:

IList<newEntity> chid = (from m in db.Entity
                        select new newEntity
                        {
                          //rewrite all properties here
                          newAttribute = ConvertDate(n.date) //it is example I break it into steps and called some functions to fill new attribute
                        }).ToList();

我的问题是如何避免在这里重写所有属性这真的让我很无聊编写一些代码我可以添加一个新属性我该怎么做?

4

1 回答 1

3

我不确定我是否正确理解了您的问题,但通常实体框架生成的类是部分类(*),因此您不需要从它们派生来添加属性。您可以通过在代码库中添加一个具有相同名称和相同命名空间的类来添加属性、方法等,然后编译器将这两个定义合并:

partial class Entity
{
    public DateTime newAttribute { get; set; }
}

(*) 取决于您的代码生成器

于 2012-07-09T07:10:46.840 回答