1

我想到了在部分 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);
}

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

4

1 回答 1

1

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

于 2009-05-13T20:42:39.837 回答