Веб-формы, простое членство и база данных First to Class Library

Мое название немного сложное, но я очень просто объясню, что я здесь делаю.

У меня есть существующая база данных с примерно 20 таблицами. У меня есть проект, в котором мой партнер решил, что мы должны использовать старое простое членство, а не идентификацию. Этот вариант больше не обсуждается, мы приняли это решение. МЫ будем создавать проект в Web Forms, используя Visual Studio 2012, потому что у нас есть лицензии на это.

Шаг 1) Я начал новый проект в VS 2012 с помощью веб-форм, указал строку подключения по умолчанию в моей текущей базе данных и зарегистрировал несколько пользователей. Это создало таблицы, необходимые для членства в моей базе данных SQL Server 2012.

Шаг 2) Я сделал некоторое реляционное сопоставление в своей базе данных, соединив существующие таблицы с новыми идентификаторами пользователя членства, где это необходимо, чтобы мои существующие таблицы теперь были связаны с материалом членства.

Шаг 3) Здесь я немного растерялся, потому что раньше обычно использовал SqlDataSources с веб-формами. У меня есть некоторый опыт работы с MVC, поэтому я хотел бы сделать что-то по-другому в этом проекте веб-форм и начать с базы данных в первую очередь и импортировать таблицы моей базы данных в уровень доступа к данным, я думаю об использовании библиотеки классов для этого.

МОЙ ВОПРОС: При первом импорте моего EDMX для базы данных. Должен ли я
A) Внести все таблицы (существующие таблицы + новые таблицы членства)
B) Внести только те таблицы, которые НЕ являются частью членства?
C) Внести мои существующие таблицы и только таблица User and Membership? или D) У вас есть другие идеи?

Мое объяснение этого вопроса заключается в том, что я знаю, что могу получить доступ к материалам членства в проекте веб-форм, но, возможно, это понадобится в библиотеке классов, поскольку мое приложение в конечном итоге будет очень ориентировано на пользователя. Отслеживание времени и входов пользователей в систему, назначение задач и проектов, разрешений для этого пользователя и т. д. Я склонялся к (A)

Я знаю, что это очень сложный вопрос, или, может быть, я должен сказать, что у него может быть много ответов, и все из-за вещей, которые я еще не знаю или я не объяснил полностью. Но я ищу какое-то направление, поскольку я никогда не использовал библиотеку классов или базу данных таким образом или в приложении веб-форм.

Снимок базы данных:

e


person Eric Bishard    schedule 12.05.2014    source источник
comment
Таблица ArchiUsers — это старая пользовательская таблица из старого приложения, и, скорее всего, она не будет использоваться, поскольку в ней есть некоторые существующие пользовательские данные. Почти все остальное, что я планирую использовать, и я наметил их отношения, включая подключение к пользовательской таблице членства.   -  person Eric Bishard    schedule 13.05.2014


Ответы (1)


Вам действительно не нужно включать таблицы Membership в модель EF. Как вы указали, класс Membership будет обрабатывать его, если он правильно настроен в файле Web.Config.

Вы должны импортировать только те таблицы, которые относятся к вашему приложению.

Вы бы только импортировали таблицы членства, только если вы создаете настраиваемого поставщика членства, который уже устарел.

По крайней мере, я лично этого не делаю. Это также помогает сохранить в модели EF именно то, что мне нужно.

Надеюсь, поможет.

person JRGuay    schedule 13.05.2014
comment
Если бы я много работал с идентификатором пользователя и ролями в своем приложении, было бы разумно использовать только их в своих сущностях? Таким образом, я мог бы, например, создать представление сетки, которое позволяет пользователю выбирать из пользователей и назначать их для конкретной задачи. Или доступ, который у меня уже есть в моем проекте, позволит это. Кажется, по этой причине может быть проще вытащить таблицы User и Roles. Кстати, я ценю вашу помощь! - person Eric Bishard; 13.05.2014
comment
Второй вопрос) Если я сначала вытащу базу данных с помощью EF, используя базу данных, а затем организую свою модель и т. Д., Затем я смогу подключиться к ней с помощью EntityDataSource, но если перед тем, как я вытащу эти объекты, я создаю библиотеку классов, а затем использую базу данных сначала втянуть эти таблицы в модель объекта в библиотеке классов, буду ли я использовать ObjectDataSource для привязки к ней? Просто дайте мне знать, если я совсем не в теме. - person Eric Bishard; 13.05.2014