【问题标题】:Adding persistence awareness to POCO , EF5为 POCO 、 EF5 添加持久性意识
【发布时间】:2012-09-21 10:18:45
【问题描述】:

[为清楚起见进行了编辑]

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

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

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

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

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

【问题讨论】:

  • 你能详细说明一下吗?我不知道你在问什么
  • 已经创建了一个持久性无关的 POCO 层 [模型],我该如何添加持久性?

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


【解决方案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
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-01
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多