Вопрос

Я создаю (на самом деле, заново создаю) приложение, в котором есть пользовательские и другие данные в базах данных MS-Access. Данные будут перемещены на SQL Server, и часть этого включает миграцию пользователей. Я хочу использовать EF для ORM, и я почти уверен, что знаю, какая модель данных будет в SQL Server. Я новичок в EF, но не в ASP.NET, и я хотел бы воспользоваться функциями членства в ASP.NET. Я думаю о нескольких способах сделать это и хотел бы получить несколько советов. До сих пор я провел лишь небольшое исследование по этой идее, может быть, на нее ответили в другом месте. Итак, здесь идет группа связанных вопросов.

<Ол>
  • Может ли EF работать напрямую с членством ASP.NET через какой-то класс или пространство имен, о которых я не знаю?

  • Если я перевожу пользователей в систему Membership, чтобы выровнять их идентификаторы пользователя с данными в других таблицах, я должен создать еще один набор таблиц для пользовательских данных поверх таблиц aspnet_ * в виде DotNetNuke?

  • Я хочу избежать ситуации, когда я использую встроенные функции членства только для аутентификации пользователя и переключаюсь в контекст EF, когда работаю с данными, помеченными пользователем. Кажется неуклюжим выводить информацию пользователя для привязки к столбцу в GridView, заходя в членство пользователя для каждой строки, но, может быть, это то, что нужно? Нужно ли мне смириться с этим и реплицировать классы членства в EF для поиска данных?

  • Я думал о том, чтобы, возможно, реализовать своего рода провайдера EF для членства, исходя из того, что, возможно, тогда провайдер мог бы сидеть внутри общей модели данных EF. Это сумасшедший разговор? (Я никогда раньше не писал своего собственного провайдера)

  • Не стесняйтесь сказать мне, что я не имею никакого смысла.

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

    Решение

    Почему бы не сделать это наоборот? Вы можете реализовать свой собственный членский членство для asp.net, которое использует модель, которую вы хотите / нуждаетесь.

    Если необходимые функции не полностью соответствуют встроенной реализации членства в asp.net, вы можете просто свернуть своего собственного провайдера. Если вы будете использовать только пару функций, вам нужно будет реализовать только пару методов (вам не нужно заполнять реализацию для всех методов). Если вам нужно больше возможностей, чем он поддерживает, использование поставщика членства может помешать вам.

    Другие советы

    <Ол>
  • Да, но мы не отображаем таблицы членства. Вы не должны предполагать использование поставщика членства SQL.
  • Мы отображаем личность пользователя, а не идентификатор БД. Тонкий, но важный. Опять же, помните, что есть другие поставщики членства (например, авторизация домена).
  • Вы можете уточнить вопрос? Вам не нужно будет копировать всю информацию о членстве в вашей модели EF, но вам потребуется список известных идентификаторов.
  • Нет, совсем не сумасшедший, но сложный и, вероятно, ненужный.
  • Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top