我已经想到了在部分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);
}
这是公认的设计模式吗?这样做与存储库模型相比有哪些优点/缺点?
答案 0 :(得分:1)
虽然我没有看到你在这里做什么的公认模式,但我确实通过将applicationdatacontext作为依赖项传递给方法来看到你正在使用依赖注入。这里的问题是,无论启动依赖项的位置如何,您仍然与datacontext紧密耦合,这使得单元测试变得更加困难。