如何将类从DBContext Generator映射到现有的POCO域类

时间:2012-08-19 19:58:20

标签: entity-framework poco dbcontext edmx database-first

我是Entity Framework和数据库第一种方法的新手。谁能帮帮我吗?

情况如下:

我有一个只有属性的干净,普通的域类(Person)。此类在VS项目中定义,该项目仅包含域类,不引用实体框架或属于数据访问层的其他内容。

我还有一个数据库表(tblPerson)。我为它创建了一个EDMX,并使用DbContext Generator为它创建POCO类。

使用域类将实体框架引用与项目分开是很重要的,我想使用与依赖注入相结合的存储库模式。

问题是:

如何将实体框架POCO类“映射”到我现有的域类?它们具有相同的属性。我已经阅读了有关代理,伙伴类等的一些内容,但没有找到任何好的例子。

请帮忙。


让我们说域模型类看起来像这样(只是一个例子):

public class Person
{
   public int Id { get; set; }
   public string Name { get; set; }
}

并且数据库表具有相同的列:

Id(int,not null,主键) 名称(nvarchar(50),非null)


更新

好的,我找到了解决方案。我做了Ladislav Mrnka建议并从ObjectContext派生的内容。这是一个描述如何完成的页面:Entity Framework 4.0 – Part4: How to use your own POCO’s

2 个答案:

答案 0 :(得分:0)

如果要将“域对象”映射到EF生成的POCO类,则可以使用AutoMapper https://github.com/AutoMapper/AutoMapper/wiki等映射器

答案 1 :(得分:0)

好的,我找到了解决方案。我做了Ladislav Mrnka建议并从ObjectContext派生的内容。 这是一个描述如何完成的页面:Entity Framework 4.0 – Part4: How to use your own POCO’s