powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Разграничение доступа на уровне записей. ASP.NET MVC, EF
25 сообщений из 160, страница 5 из 7
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39655799
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttПример можешь привести? Текучести абстракции?абстрактно?
Накат версии на работающей базе с работающими сотрудниками.
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39655814
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttПример можешь привести? Текучести абстракции?

EF при изменениях/откате миграции начинает пытаться переименовать объекты, и будучи не в состоянии дать какие-то уникальные имена - получает ошибку.

Банально надо лезть в файл миграции и расставлять инструкции в нужном порядке.

Но это ладно.

Допустим есть сущность "клиент", и у него есть коллекции, скажем, "документы","адреса","заказы".

И в ходе рефакторинга - мы убираем свойство "заказы".
А потом опять пытаемся его же добавить.

И я не помню, что начинает происходить.

То ли EF сломается при добавлении связующих таблиц.
То ли EF замапит связь "не на ту таблицу".

В общем - кончается тем, что надо "лезть" во fluent и мапить на таблицы там.
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39655829
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Агнец за бортомEF при изменениях/откате миграции начинает пытаться переименовать объекты, и будучи не в состоянии дать какие-то уникальные имена - получает ошибку.

Банально надо лезть в файл миграции и расставлять инструкции в нужном порядке.

Это не пример текучести абстракции, стоит этого ожидать, даже если это будет человек, который должен будет искать ответ на вопрос: а что делать с именами?

Агнец за бортомИ в ходе рефакторинга - мы убираем свойство "заказы".
А потом опять пытаемся его же добавить.

И я не помню, что начинает происходить.

То ли EF сломается при добавлении связующих таблиц.
То ли EF замапит связь "не на ту таблицу".

Опять таки, EF не является искусственным интеллектом, и коллизии разрешить не в состоянии точно так же, как это не может сделать Git, который при конфликтующих изменениях просит человека выполнить правильное слияние.

Чтобы такого не было, надо создавать миграцию после каждого качественного изменения, в котором не будет конфликтов.

Агнец за бортомВ общем - кончается тем, что надо "лезть" во fluent и мапить на таблицы там.

Нужно использовать классы конфигурации маппинга, для каждого Entity нужно создавать класс конфигурации, даже если Entity простой. Тогда не нужно лезть в какой-то одному Богу известный fluent.

Да, генератор миграции не идеален, но лишь в том отношении, что некоторые вещи разрешить программным путём невозможно, так как неизвестно, чего хотел программист, если это не очевидно из контекста.

Абстракции, тут как бы не при чём.
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39655833
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЭто не пример текучести абстракции, стоит этого ожидать,

Как по мне - я не должен лазить в файл миграций. Тем более - еще его и править. Поэтому и течет.

И при чем тут имена - он (генератор) пытается удалить объект по имени, которого еще у объекта нет. (Инструкция по переименованию находится ниже).
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39655835
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttкак это не может сделать Git, который при конфликтующих изменениях

У Git-а конфликты все же находятся на том же уровне. Поэтому - тут вопросов нет.

А мои POCO - однозначны и согласованы. А EF "справится" с ними без вмешательства человека не может.

Искусственный интеллект или нет, и насколько это плохо - не мне судить.

Я считаю, что MS могла бы и получше сработать.

Для серьезного продакшена, ИМХО, DB First будет получше.
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39655836
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttТогда не нужно лезть в какой-то одному Богу известный fluent.

В смысле? Разве в конфигах используется не fluent?
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39655844
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Агнец за бортомhVosttТогда не нужно лезть в какой-то одному Богу известный fluent.

В смысле? Разве в конфигах используется не fluent?
Прямо в коде наверно у них.
Есть и такой маппинг.
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39655862
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Агнец за бортомКак по мне - я не должен лазить в файл миграций. Тем более - еще его и править. Поэтому и течет.

Миграции к абстракциям как относятся? Если хочешь вообще жить без миграций и соответствующих проблем, ноу проблем, переходи на Raven, или MongoDB. Никаких миграций :)

Агнец за бортомИ при чем тут имена - он (генератор) пытается удалить объект по имени, которого еще у объекта нет. (Инструкция по переименованию находится ниже).

Честно, не сталкивался с таким. Хотя в одном проекте у нас около 3 тыс. миграций.

Агнец за бортомА мои POCO - однозначны и согласованы. А EF "справится" с ними без вмешательства человека не может.

Ну конечно не может.

Было, допустим, у тебя поле Address. Потом ты его переименовываешь в PostAddress и добавляешь LegalAddress, считая, что EF должен догадаться, что PostAddress это бывший Address.

Агнец за бортомЯ считаю, что MS могла бы и получше сработать.

Ну, возможно.. Вообще, сейчас EF это опенсорс, если знаешь как лучше, велком в контрибьютеры.

Агнец за бортомВ смысле? Разве в конфигах используется не fluent?

Ну да, флюент. Но только применительно к своей модели.
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39655995
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAКурдль,

разграничение доступа придумали как делать, или нет ещё?

Я думаю, что понял, как его реализовать. Но это ушло в низший приоритет.
Я не могу заставить приложение заработать на хостинге :(
Как я опасался - возникли сложности с двумя строками подключения.
Одна (EF) все таблицы читает и пишет исправно.
А другая, которая работает на Identity, при попытке залогиниться:
Код: html
1.
2.
Error.
An error occurred while processing your request.


возможно я просто подставляю неправильные параметры в строку соединения, которую родил сам Identity и которая успешно работала в локале. Хостинг reg.ru (может кто сталкивался)
Код: xml
1.
2.
3.
4.
  <connectionStrings>
    <add name="MyEntities" connectionString="metadata=res://*/DAL.MyModel.csdl|res://*/DAL.MyModel.ssdl|res://*/DAL.MyModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=localhost;initial catalog=ПРЕФИКС_БД;persist security info=True;user id=ПРЕФИКС_sa;password=ПАРОЛЬ;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    <add name="MyIdentity" connectionString="Data Source=localhost;database=ПРЕФИКС_БД;persist security info=True;user id=ПРЕФИКС_sa;password=ПАРОЛЬ;" providerName="System.Data.SqlClient" />
  </connectionStrings>
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39655998
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты используешь только хоcтинг или свой VDS?
Если первое - то откуда там возьмется sqlserver на localhost?
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39656000
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльА другая, которая работает на Identity, при попытке залогиниться:
Код: html
1.
2.
Error.
An error occurred while processing your request.

смотри реальную ошибку в коллстеке
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39656076
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProТы используешь только хоcтинг или свой VDS?
Если первое - то откуда там возьмется sqlserver на localhost?
Если посмотрите на первую строку подключения, то получается, что установлен.
EF же читает и пишет исправно по словам ТСа
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39656078
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,

покажете полную информацию об ошибке, что происходит.
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39656085
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProТы используешь только хоcтинг или свой VDS?
Если первое - то откуда там возьмется sqlserver на localhost?

Только хостинг. Про localhost в строке подключения я прочел в анналах инструкций самого хостинга.
К тому же, первая строка подключения ведь как-то нашла его?..

skyANAКурдль,

покажете полную информацию об ошибке, что происходит.
Я пока не вкурил, как отыскать информацию об ошибке.
Хостинг предоставляет логи, в которых только http-запросы.
Однако пока не настроил первую Connection String - ту же ошибку получал при попытке любого обращения к БД.
Сейчас получаю только при попытке обратиться за информацией identity.
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39656089
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,

а в браузере что Вам отображается?

И явно надо озаботиться логированием в приложении
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39656102
Lessyp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльКак я опасался - возникли сложности с двумя строками подключения.
Одна (EF) все таблицы читает и пишет исправно.
А другая, которая работает на Identity, при попытке залогиниться:

не надо так делать. Иметь отдельную базу для пользователей только в угоду майкрософтовскому Identity - это адское решение. Ихнее Identity на EF вообще не надо юзать за пределами курсовых и хелло ворлдов
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39656106
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LessypКурдльКак я опасался - возникли сложности с двумя строками подключения.
Одна (EF) все таблицы читает и пишет исправно.
А другая, которая работает на Identity, при попытке залогиниться:

не надо так делать. Иметь отдельную базу для пользователей только в угоду майкрософтовскому Identity - это адское решение. Ихнее Identity на EF вообще не надо юзать за пределами курсовых и хелло ворлдов
У него не отдельная база, а две строки подключения к одной базе.

И по чесноку отдельная база для пользователей - это не адское решение, а тупо отдельный сервис для аутентификации, единый для всех остальных сервисов в системе.
Но это конечно не вариант ТСа
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39656108
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LessypИхнее Identity на EF вообще не надо юзать за пределами курсовых и хелло ворлдов
А конструктивная критика и предложения того, что же использовать, будут?
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39656109
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAа тупо отдельный сервис для аутентификации,

Вопросов бы не было, будь это сервис. А так - это отдельная база.

И потом, поделись рецептом, как ты пробрасываешь юзера из базы идентити в "основную"? Костылик-gear?
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39656110
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльЯ пока не вкурил, как отыскать информацию об ошибке.ну пока не настроил нормальное собственное логирование - отлови глобальную ошибку и выведи ее куда-нить вместе с коллстеком
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39656111
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Агнец за бортомskyANAа тупо отдельный сервис для аутентификации,

Вопросов бы не было, будь это сервис. А так - это отдельная база.Где ты увидел, или что называешь отдельной базой?

Я вижу ровно одну:
Код: xml
1.
data source=localhost;initial catalog=ПРЕФИКС_БД
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39656113
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну раз провайдер сам предоставляет доступ к sql-серверу через localhost - ну ок.
Может он ограничивает количество приложений для подключения БД, и для второй строки тоже надо прописать ;App=EntityFramework?
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39656117
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАгнец за бортомпропущено...


Вопросов бы не было, будь это сервис. А так - это отдельная база.Где ты увидел, или что называешь отдельной базой?

Я вижу ровно одну:
Код: xml
1.
data source=localhost;initial catalog=ПРЕФИКС_БД



Не понимаю, о чём ты. При установке пустого решения с аутентификацией - база с юзерами прибивается гвоздями к решению.

Ты предлагаешь продолжать разработку в ней? Это как-то не очень straight forward.

Любой тутор - приведет тебя к двум базам.

И куда бы ты не смотрел и как бы ты базы не считал - это нифига не

skyANAтупо отдельный сервис для аутентификации
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39656123
Lessyp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Майкрософтовский Identity - это показательное решение для обьяснения основ как все примерно должно работать и также для hello world проектов где самому писать ничего не требуется. Всерьез использовать это как часть коммерческого проекта, приколотив гвоздями к остальной системе и обозвав "отдельным сервисом" - это верх непрофессионализма. За такое увольнять надо
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39656126
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Агнец за бортомЛюбой тутор - приведет тебя к двум базам.Не вижу никакой проблемы использовать стандартное Identity-хранилище в основной базе, если они не пересекаются по названиям таблиц.

Впрочем, также не вижу никакой проблемы использовать собственную реализацию хранилища пользователей для Identity - там ничего сложного
...
Рейтинг: 0 / 0
25 сообщений из 160, страница 5 из 7
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Разграничение доступа на уровне записей. ASP.NET MVC, EF
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]