【问题标题】:Static methods vs repository pattern with Linq2Sql静态方法与使用 Linq2Sql 的存储库模式
【发布时间】:2009-05-08 16:26:14
【问题描述】:

我想到了在部分 Linq 查询上创建静态方法的想法,例如

public partial class User
{
    public static User FindByGuid(string guid, ApplicationDataContext context)
    {
        return context.Users.Where(x => x.GUID == guid).Single();
    }
}

因此,例如,我可以通过以下方式轻松找到用户:

using (var context = new ApplicationDataContext())
{
    var user = DataAccess.User.FindByGuid(UsersDropDown.SelectedValue, context);
}

这是一种公认​​的设计模式吗?与存储库模型相比,这样做的优点/缺点是什么?

【问题讨论】:

    标签: linq linq-to-sql static-methods


    【解决方案1】:

    虽然我在您在这里所做的事情中没有看到公认的模式,但我确实看到您通过将 applicationdatacontext 作为依赖项传递给方法来使用依赖注入。这里的问题是,无论从何处启动依赖项,您仍然与数据上下文紧密耦合,这使得单元测试变得更加困难。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-09
      • 2012-08-22
      • 1970-01-01
      • 2012-06-10
      • 1970-01-01
      • 1970-01-01
      • 2011-02-12
      • 1970-01-01
      相关资源
      最近更新 更多