相关疑难解决方法(0)

ADO.NET DbContext Generator与ADO.NET Poco实体生成器(ObjectContext)

我即将开始实现一个项目的数据访问基础设施,该项目采用DDD方法构建(这是我第一次尝试DDD,所以要温和;-)).

我将使用Entity Framework.到目前为止,我正在研究朱莉·勒曼(Julie Lerman)在她的伟大着作" 编程实体框架 "(Programming Entity Framework)中使用的方法,其中使用了ADO.NET POCO实体生成器,对T4模板和一些更多自定义代码进行了一些更改.
今天我开始使用Database First方法阅读有关EF4.1和ADO.NET DbContext Generator的文章,我正在尝试决定应该选择哪一个.

DbContext和EF4.1的DDD方法似乎比POCO实体更好,更清晰,但我担心它会在不久的将来导致一些问题,因为EF4.1仍然在RC中.

ADO.NET团队博客,我知道EF4.1 包括:

  • 枚举支持
  • 空间数据类型支持
  • Code First中的存储过程支持
  • Code First中的迁移支持
  • Code First中的可定制约定

根据我的理解,由于我将使用Database First,因此未包含的功能数量较少.

总之,我的问题是:
我可以用EF4.1 DbContext Generator 替换POCO实体生成器吗?

entity-framework entity-framework-4 entity-framework-4.1

58
推荐指数
1
解决办法
3万
查看次数

具有实体框架4.1和父/子关系的存储库模式

我仍然对存储库模式有些困惑.我想要使​​用此模式的主要原因是避免从域调用EF 4.1特定数据访问操作.我宁愿从IRepository接口调用泛型CRUD操作.这将使测试更容易,如果我将来必须更改数据访问框架,我将能够这样做,而无需重构大量代码.

这是我的情况的一个例子:

我在数据库中有3个表:Group,Person,和GroupPersonMap.GroupPersonMap是一个链接表,只包含主键GroupPerson主键.我用VS 2010设计器创建了3个表的EF模型.EF很聪明,可以假设它GroupPersonMap是一个链接表,因此它不会在设计器中显示它.我想使用我现有的域对象而不是EF生成的类,所以我关闭了模型的代码生成.

我与EF模型匹配的现有类如下:

public class Group
{
   public int GroupId { get; set; }
   public string Name { get; set; }

   public virtual ICollection<Person> People { get; set; }
}

public class Person
{
   public int PersonId {get; set; }
   public string FirstName { get; set; }

   public virtual ICollection<Group> Groups { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我有一个通用的存储库接口,如下所示:

public interface IRepository<T> where T: class …
Run Code Online (Sandbox Code Playgroud)

c# domain-driven-design aggregateroot repository-pattern entity-framework-4.1

35
推荐指数
1
解决办法
2万
查看次数

EF POCO代码仅VS EF POCO与实体数据模型

将域对象与任何类型的持久性代码完全分离的能力使系统更具可扩展性和可维护性.当业务逻辑可以与存储代码分开测试时,测试变得更加容易.将POCO与实体框架(EF)一起使用肯定是朝着正确方向迈出的一步:)

有两种类型的使用poco与EF 1.使用实体设计师2.仅使用代码

哪一个是最好的方法EF poco代码首先或EF Poco使用实体数据模型设计师?

谢谢

entity-framework poco entity-framework-4 ef-code-first

19
推荐指数
1
解决办法
3829
查看次数