Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Linq2Sql的静态方法与存储库模式_Linq_Linq To Sql_Static Methods - Fatal编程技术网

使用Linq2Sql的静态方法与存储库模式

使用Linq2Sql的静态方法与存储库模式,linq,linq-to-sql,static-methods,Linq,Linq To Sql,Static Methods,我偶然想到在部分Linq查询上创建静态方法,例如 public partial class User { public static User FindByGuid(string guid, ApplicationDataContext context) { return context.Users.Where(x => x.GUID == guid).Single(); } } 例如,我可以通过以下操作轻松找到用户: using (var con

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

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

虽然我看不到您在这里所做的工作有一个公认的模式,但我确实看到您通过将applicationdatacontext作为依赖项传递到方法中来使用依赖项注入。这里的问题是,无论依赖关系从何处开始,您仍然与datacontext紧密耦合,这使得单元测试更加困难

虽然我看不到您在这里所做的工作有一个可识别的模式,但我确实看到您正在使用依赖项注入,将applicationdatacontext作为依赖项传递到方法中。这里的问题是,无论依赖关系从何处开始,您仍然与datacontext紧密耦合,这使得单元测试更加困难