实体框架代码首先从域中分离模型

时间:2014-01-09 10:48:37

标签: entity-framework ef-code-first entity-framework-6

实体框架代码第一个最佳实践问题?

大家好我在NTier应用程序上使用EF codeFirst 6。

我发现我用来映射到EF的poco对象实际上是EntityFramework特有的。让我举个例子

如果我想在对象中添加与EF无关的属性,EF不喜欢它。 我读了你可以把“NotMapped”属性,但它开始使这个对象难以维护。

也可能有开发人员不熟悉EF而且不会理解这个问题。

我的问题是保持EF实体模型分离并有一个dto转换为/从域模型的好习惯 开发人员可以用它做他喜欢的事情而不会干扰EF模型,这显然是数据库中表格的1比1

任何建议?

1 个答案:

答案 0 :(得分:1)

使用Fluent API方法而不是Attribute-basedAnnotations)方法可以解决您的问题。请参阅Entity Framework Fluent API

您可以在DBContext中而不是在实体类中配置实体映射。

来自上述链接文章:

  

指定不将CLR属性映射到数据库中的列

     

以下示例显示如何在CLR上指定属性   type未映射到数据库中的列。

modelBuilder.Entity<Department>().Ignore(t => t.Budget);

这意味着“忽略Bugdet实体中的Department属性。”