向POCO,EF5添加持久性感知

时间:2012-09-21 10:18:46

标签: .net visual-studio entity-framework poco

[为清晰起见而编辑]

这是我的情景 我设法创建了我的数据库的POCO模型,只包含两个表,博客和帖子。[模型]

我想创建另一个引用这些类的项目,并为它添加一些数据库持久性代码,我不知道如何。 [DAL]

稍后,在[BLL]中使用此[DAL]来验证数据并将其呈现给[Presentation]。

在其他项目中,我使用EF但没有创建POCOS,所以我最终在BLL中获得了数据访问代码,这次我试图将事情严格区分开来。

在过去,EF为我做了一切,我只是添加了一个模型,然后我可以调用SaveChanges()。现在,我是否必须在尝试创建的新[DAL]中编写自己的“insert..into ...”?必须有一种自动化的方式

1 个答案:

答案 0 :(得分:1)

我创建了Entity Framework using N-Layer model的草稿项目。

NLayerEF.Data包含数据库模型(.edmx文件和.sql文件)

NLayerEF.Domain包含无知的持久类

NLayerEF.Infrastructure包含一个继承自DbContext的类,这是您与数据库通信所需的内容。添加属性

public DbSet<TYPE> EntitySetName { get; set; }

您将把.edmx文件中描述的表格映射到此属性

public partial class StackOverflowEntities : DbContext
{
    public DbSet<Post> Post { get; set; } // Table Post
    public DbSet<User> User { get; set; } // Table User
    public DbSet<Tag> Tag { get; set; }   // Table Tag
}