使用Linq2Sql的静态方法与存储库模式
我偶然想到在部分Linq查询上创建静态方法,例如使用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
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紧密耦合,这使得单元测试更加困难