Вопрос

Я работаю над решением ASP.NET с двумя проектами.Один из них - это веб-интерфейс, а другой содержит мою бизнес-логику.Я использую LINQ to SQL для доступа к моим данным во втором проекте.

Помимо моей базы данных, у меня есть таблица под названием Users, в которой хранится информация о пользователях.

Я начал внедрять MembershipProvider.Я замечаю, что MembershipUser связан с MembershipProvider .Каков наиболее правильный способ заставить мой BLL / DAL рассказывать о пользователях?Должен ли я минимально реализовать MembershipUser, и всякий раз, когда пользователь вызывает метод, он будет вызывать, например.GetUserInfo() в моем BLL / DAL, чтобы получить полную информацию о пользователе?

Или я должен заставить методы класса MembershipUser вызывать мои пользовательские методы класса "Users" (например, оболочку) в BLL / DAL (этот пользовательский класс users не связан с linq)?

Или я могу каким-то образом расширить Linq до sql-класса "CFUsers", чтобы расширить MembershipUser.

Я надеюсь, что в этом есть смысл.

Это было полезно?

Решение

Обычно я рассматриваю это как отдельные сущности, поскольку MembershipUser вращается вокруг членства, что является общей проблемой, а пользователь в вашей системе вращается вокруг того, что влечет за собой ваш домен, я понимаю вашу точку зрения, когда обе эти сущности могут содержаться в одной, так что.Профили - это, безусловно, самый простой способ.

Хотя в документах MSDN есть пошаговое руководство по адресу http://msdn2.microsoft.com/en-us/lib...US , VS.80).aspx и хорошее пошаговое руководство от Скотта Гатри на http://weblogs.asp.net/scottgu/archi...18/427754.aspx

Как всегда, это зависит от того, каковы ваши цели.Добавление в профиль - это простой механизм для получения дополнительных данных.Это требует очень мало настроек и делает информацию легко доступной для веб-приложения.Это может быть не так где вы хотите хранить данные этого типа;если нет, то это не решение.

Если это не подходит, отличным вариантом является создание нового поставщика, производного от поставщика по умолчанию (чтобы наследовать то, что у вас уже есть).и, конечно же, конечная http://codesmart.wordpress.com/2009/03/27/extending-the-microsoft-aspnet-membership-provider/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top