#realJSOP Ответов: 1

MVC5 identity с ADO вместо entity framweork - что мне нужно?


Я начинаю MVC5 приложение, и я хочу, чтобы использовать функциональные возможности личности без рамках лица. Вот некоторые особенности:

0) MVC5 (.Нетто-4.6 н) с индивидуальной проверкой подлинности пользователя (либо через стандартный идентификатор пользователя/инвалидов входа, или с карт общего доступа (CAC).

1) отсутствие внешних Логинов, таких как facebook, google, twitter и т. д

2) *весь* доступ к базе данных осуществляется через хранимые процессы

3) из-за #2 выше мы хотим использовать ADO вместо EntityFramework или любого другого ORM, если на то пошло. ORM имеют огромные следы с точки зрения памяти и дискового пространства по сравнению с горсткой методов ADO, и нам не нужен ORM, чтобы управлять нашими таблицами для нас.

Что я уже пробовал:

Google довольно много, но ландшафт довольно загроможден частичными и бессмысленными ответами.

Richard Deeming

Значит, вам не удалось адаптировать демо Марка Джонсона?
https://github.com/mark-j/DapperIdentityDemo[^]

#realJSOP

Прошло уже несколько дней (может быть, неделя) с тех пор, как я смотрел на него, но он вызвал больше вопросов.

Например, нужен ли мне материал OWIN, если я не разрешаю внешние логины (farcebook, bitter, evil и т. д.)?

Richard Deeming

Да, к сожалению, вам все еще нужна вся болтовня OWIN, чтобы заставить Identity работать, даже если вы используете только локальные логины.

Введение в ASP.NET идентичность[^]:
"Проверка подлинности ASP.NET теперь на основе по промежуточного слоя OWIN, которые могут быть использованы на любой долг-узла. ASP.NET Identity не имеет никакой зависимости от System.Web. Это полностью совместимый фреймворк OWIN, который может быть использован в любом размещенном приложении OWIN.
ASP.NET личность использует контракт OWIN проверки подлинности для входа в систему/выход из системы пользователей на сайте. Это означает, что вместо того, чтобы использовать formsauthentication для создания печенья, приложение использует долг CookieAuthentication, чтобы сделать это."

#realJSOP

Тогда я посмотрю еще раз. Я также не помню, говорил ли он о том, как полностью удалить EF. Я считаю, что это более важно, чем просто удаление пакета nuget.

Richard Deeming

После того, как вы удалили DbContext классы, вам просто нужно будет удалить EntityFramework.Identity и EntityFramework пакеты. В зависимости от того, насколько хорошо он очищается после себя, вам также может потребоваться удалить entityFramework элемент и раздел конфигурации из вашего web.config файл.

1 Ответов

Рейтинг:
2

Gerry Schmitz

Вы просто заменяете свои звонки EF на "ADO.NET звонки".

Вы создаете DAL (уровень доступа к данным / репозиторий) , чтобы не повторять (в коде) одни и те же вызовы.

Большая часть вашего "высокоскоростного одностороннего поиска" будет включать в себя "считыватели данных". Вам понадобятся POCO (эквивалент сущностей EF).

(И у EF нет "массивного" следа. Это происходит только в том случае, если человек не знает / не заботится о "чанкинге" должным образом).


Didier M.

Пожалуйста, у вас есть какой-нибудь пример?
Такой подход очень интересен.