Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: EF edmx без праймери кей  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35609
hVostt
Petro123
Ведь одна из основных фич ОРМ это смена базы.
Т.е. довод про CTE от лукавого.


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

Не надо использовать CTE?
))).
Или использовать когда оправданно.
Автор пока не оправдался зачем ему это))). LOL
20 авг 18, 07:47    [21647540]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Курдль
Member

Откуда: Мск
Сообщений: 1143
Petro123,

Коллеги!
Ваша мысль настолько стремительна, что ускользает от меня.
1. Да, возможно мне ближе не DB First, а Model First по вашей классификации.
Я на основании анализа предметной области создаю модель и дальше использую её в качестве основы автоматизации.
2. Выгода от ORM не только в возможности смены БД. Я не хотел бы иметь килотонны слабо контролируемого кода ( в виде DAL, например, всяких коннекторов, ридеров и т.п.). Пусть за меня это делает ORM, а при изменении модели и серверной логики - сама перестраивает "обвязку".
Не понимаю, зачем посылать меня к непосредственной работе с данными.
Мне приходилось работать и с ADO.NET и немало. Особого удовольствия я от этого не получаю.
3. Зачем я использую CTE? А где я должен обрабатывать задачи обхода графов, например? В коде C#?
Перед этим выгрузив все необходимые данные из БД на клиента БД?
20 авг 18, 12:09    [21647937]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35609
Курдль,
1. Вроде нету такого как ModelFirst.
В смысле что Code, что Model все едино. Подход один - база изменяется кодом.
2. В каком виде нужен DAL?
Счас все уже есть. Ридеры есть, EF есть. Мало?
3. Почему графы в данной теме?
Лень топик завести?
От данной темы все шарахаются.
20 авг 18, 12:37    [21648014]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35609
Курдль,
Мы все не поймем что ты жалуешься и что тебе плохо?
hVostt прованговал что тебе нужен CodeFirst.
Я против, т.к. думаю проблема глубже))).
20 авг 18, 12:40    [21648020]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Курдль
Member

Откуда: Мск
Сообщений: 1143
Petro123
Курдль,
Мы все не поймем что ты жалуешься и что тебе плохо?
hVostt прованговал что тебе нужен CodeFirst.
Я против, т.к. думаю проблема глубже))).


1. Не нужно мне Cose First.
2. И как раз в теме топика - обновление модели силами EF по структуре БД.
3. Я не жалуюсь, а ищу ответ на вопрос: как заставить EF корректно построить модель на основании созданных мной элементов БД (в частности - представлений).
Разве я многого прошу? :D
20 авг 18, 12:47    [21648033]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35609
Курдль,
2. Два варианта. В модели добавить руками нововведения и пункт меню - обновить. Далее выбор галочками что имнно.
3. Какого фига вам понадобились представления? Как ОРМ будет делать update?
20 авг 18, 13:02    [21648052]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35609
Курдль
Разве я многого прошу? :D
ответы же очевидны. Может странное просите?
20 авг 18, 13:03    [21648054]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
hVostt
Member

Откуда:
Сообщений: 14972
Курдль,

Вам нужен Model First.
Можно синхронизировать БД в соответствии с изменениями модели.
Можно добавлять вьюхи и расставлять PK и прочую шелупонь.

Хотя мне ближе Code First, я не люблю чужого волшебства. Только своё :)
20 авг 18, 14:56    [21648257]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35609
hVostt,
Конечно! В вашем магазине овощи свежее чем в соседнем).
Картинка с другого сайта.
20 авг 18, 15:15    [21648289]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
hVostt
Member

Откуда:
Сообщений: 14972
Petro123
Конечно! В вашем магазине овощи свежее чем в соседнем).


Да ладно тебе )
20 авг 18, 16:10    [21648363]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Курдль
Member

Откуда: Мск
Сообщений: 1143
hVostt
Курдль,

Вам нужен Model First.
Можно синхронизировать БД в соответствии с изменениями модели.
Можно добавлять вьюхи и расставлять PK и прочую шелупонь.

Хотя мне ближе Code First, я не люблю чужого волшебства. Только своё :)

Дело в том, что клиентом одной и той же БД могут быть разнообразные приложения, созданные по разнообразным технологиям.
К тому же я не вижу особой разницы, создавать ли сначала ER-диаграмму взаимосвязей сущностей или диаграмму классов.

Petro123
hVostt,
Конечно! В вашем магазине овощи свежее чем в соседнем).
Картинка с другого сайта.


Колеги, вы читали, что я написал в посте 21646855?
У меня уже было несколько представлений и все они прекрасно сдружились с EF.
Она нашла им какие-то первичные ключи (составные почему-то), я их вручную откорректировал и дальше все Ок!
Но представление, содержащее CTE, она просто исключает из модели (в edmx обставляет символами комментария).
На разных ресурсах типа stackoverflow, сходятся во мнении, что можно edmx поправить руками и все заработает... кроме указанной Petro123 функции 21648289 Т.е. дальше - всё только вручную.
20 авг 18, 16:15    [21648371]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35609
Курдль
Колеги, вы читали, что я написал в посте 21646855?
дык с тобой все понятно.
Чем дальше от законов ОРМ, тем больше у тебя буде вручную.
Я лет 5 назад тоже изгалялся с составными ключами без PK.
Потом плюнул.
И чего я экономил спрашивается? Спички?
20 авг 18, 17:46    [21648499]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35609
Курдль,
Сгенерируй во вьюхе первичный. Может прокатит.
20 авг 18, 17:47    [21648500]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Курдль
Member

Откуда: Мск
Сообщений: 1143
Petro123
дык с тобой все понятно.
Чем дальше от законов ОРМ, тем больше у тебя буде вручную.
Я лет 5 назад тоже изгалялся с составными ключами без PK.
Потом плюнул.
И чего я экономил спрашивается? Спички?

Я не изгалялся с составными РК. Все РК в таблицах по-честному есть. Как объявить РК во вьюхе я не знаю :(
Но EF при выполнении функции Update model from database по каким-то своим соображениям делает составной РК из всех не nullable полей.

Petro123
Курдль,
Сгенерируй во вьюхе первичный. Может прокатит.


Как?
(СУБД MS SQL Server 2014)
20 авг 18, 18:06    [21648529]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35609
Курдль
Как
у меня в постгри есть row_number().
Спроси ветке бд.
20 авг 18, 18:38    [21648567]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Курдль
Member

Откуда: Мск
Сообщений: 1143
Petro123,
stackoverflow
You cannot create a primary key on a view. In SQL Server you can create an index on a view but that is different to creating a primary key.
20 авг 18, 21:28    [21648687]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Курдль
Member

Откуда: Мск
Сообщений: 1143
Petro123
у меня в постгри есть row_number().
Спроси ветке бд.

Представление, которое я пытаюсь вставить в модель, имеет поле, которое желехобетонно является РК.
Т.е. мне не нужно исхитряться, чтобы добыть РК каким-то сторонним способом, типа row_number.
Но я не могу объяснить EF, что это поле - РК :(
20 авг 18, 21:42    [21648698]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35609
Курдль,
Значит именно обмануть ОРМ не удалось.
Делай как все делают. Заводи тему и спрашивай почему у других нет проблем.

Курдль
Petro123,
stackoverflow
You cannot create a primary key on a view. In SQL Server you can create an index on a view but that is different to creating a primary key.

Ну и причем тут ОРМ?
Что за глупость совать вьюхи union all под ОРМ?
Я же выше писал, что без орм есть датасеты, ридеры, дататабле и коллекции.
Вы ноль реакции только бьетесь головой в стену.
21 авг 18, 07:27    [21648818]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35609
https://stackoverflow.com/questions/14025136/what-does-persistence-object-means-in-hibernate-architecture
Это ссылка на другой орм - хибер и термин персистентность объектов Модели.
Объекты в трех состояниях в ОРМ Transient, Persistent, Detached.
Т.е. вы своими хранимками триггерами, вьюхами идете вразрез с идеологие ОРМ.
21 авг 18, 07:52    [21648826]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
hVostt
Member

Откуда:
Сообщений: 14972
Курдль
Дело в том, что клиентом одной и той же БД могут быть разнообразные приложения, созданные по разнообразным технологиям.


Можно убрать этот бардак, путём выделения доступа к БД через сервис.
REST/OData/etc.

Ну это такое :)
Лично я категорически против поползновения в БД кучи разных служб и сервисов, это потом приводит к очень дорогому сопровождению и обслуживанию. Так делают и очень часто, да. Но это не оправдание. Ещё говорят, легася бла бла... Ох, как же я устал слышать это слово :)


Курдль
На разных ресурсах типа stackoverflow, сходятся во мнении, что можно edmx поправить руками и все заработает... кроме указанной Petro123 функции 21648289 Т.е. дальше - всё только вручную.


Никто не говорил, что решения нет. Просто это отстойное решение, и причины были озвучены. Также были предложения как можно было бы вообще избежать этой и подобных проблем, сменив подход.

Но это не указ, просто советы, решайте сами как для вас лучше.
21 авг 18, 12:07    [21649255]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35609
hVostt
Лично я категорически против поползновения в БД кучи разных служб и сервисов, это потом приводит к очень дорогому сопровождению и обслуживанию. Так делают и очень часто, да. Но это не оправдание. Ещё говорят, легася бла бла... Ох, как же я устал слышать это слово :)

Не уставай. Бывает.
Это БЛ бизнес логика в бд - хранимки, вьюхи, триггеры в виде API.
Двухзвенка. Классика.
Ещё не умерла)).
21 авг 18, 12:24    [21649283]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить