Статические методы против шаблона хранилища с Linq2Sql - PullRequest
1 голос
/ 08 мая 2009

Я натолкнулся на идею создания статических методов для частичных запросов 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);
}

Это признанный шаблон дизайна? Каковы преимущества / недостатки этого в сравнении с моделью хранилища?

1 Ответ

1 голос
/ 14 мая 2009

Хотя я не вижу распознанного паттерна в том, что вы здесь делаете, я вижу, что вы используете Dependency Injection, передавая applicationdatonontext в метод как зависимость. Проблема здесь в том, что вы все еще тесно связаны с вашим текстом данных независимо от того, где инициируется зависимость, что затрудняет юнит-тестирование.

...