【问题标题】:Corrupting POCO Domain Model when creating LINQ Entity Classes?创建 LINQ 实体类时破坏 POCO 域模型?
【发布时间】:2010-11-09 11:55:43
【问题描述】:

假设我有一个从 C# 类创建的域模型,如下所示:

public class MyClass
{
public string MyProperty { get; set; }
}

除了模型之外,我还为 IoC 定义了存储库接口类。

现在,我正在尝试使用 LINQ 映射将此 POCO 域模型转换为一组实体类。 (在我正在阅读的关于 MVC 的书中推荐了这种方法。)在上面的示例中,这很容易使用一些属性而不影响类的“普通旧度”:

[Table]
public class MyClass
{
[Column]
public string MyProperty { get; set; }
}

当我开始映射关联、更改修改等时,问题就出现了。看来我正在快速破坏域模型的原始概念,而只是创建了一组 LINQ-to-SQL 类。我错过了什么吗?这些类仍然是业务逻辑的正确位置吗?我是否仍然能够并且应该继续从非 LINQ、非 DB 源将数据加载到这些类中?

谢谢

【问题讨论】:

  • 另外,这可能是使用外部映射文件的好理由吗?在这种情况下,这种方法有什么优点/缺点?

标签: c# linq-to-sql poco domain-model


【解决方案1】:

还有其他几个类似的问题。
我这个周末玩了 EF4,你可以关注Julie Lerman blog post serie 用 EF4 实现一个 Repository 模式。它运作良好,虽然它还没有完全直截了当...
据我所知,EF3.5 无法做到这一点。祝你好运。

【讨论】:

    【解决方案2】:

    同样在 SO 上的这篇文章回答了我的问题:(感谢 Google)

    Entity classes decoupled from LINQ to SQL provider for implementing the Repository pattern. How?

    编辑:

    也许不是,这是对实体类的常见抱怨吗?

    另一个编辑:

    好的,所以目前基本上不能这样做,但是使用 .NET 4.0 应该是可能的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-28
      • 1970-01-01
      • 1970-01-01
      • 2011-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多