1

我是实体框架和数据库优先方法的新手。谁能帮帮我吗?

情况如下:

我有一个干净、普通的域类(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, 主键) Name (nvarchar(50), not null)


更新:

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

4

2 回答 2

0

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

于 2012-08-20T07:53:30.570 回答
0

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

于 2012-08-20T14:42:05.490 回答