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

Откуда:
Сообщений: 1103
Как можно загрузить в edmx таблицу у которой нет праймери кей. а то пишет вот что
<!--Errors Found During Generation:
warning 6013: The table/view 'ALTNAMES' does not have a primary key defined and no valid primary key could be inferred. This table/view has been excluded. To use the entity you will need to review your schema, add the correct keys and uncomment it.

<EntityType Name="ALTNAMES">
<Property Name="OLDCODE" Type="nvarchar" MaxLength="255" />
<Property Name="NEWCODE" Type="nvarchar" MaxLength="255" />
<Property Name="LEVEL" Type="nvarchar" MaxLength="255" />
</EntityType>-->
31 мар 10, 18:08    [8561036]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
SculptoR
Member

Откуда: Минск
Сообщений: 65
правильно пишет. таблица без праймари ключа не правильна. и в его понимании и в идеологии реляционных бд. зачем она должна быть без пк? пк может быть родным - редко видел, может быть синтетическим. но зачем же совсем без него?
2 апр 10, 19:22    [8573895]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
bured
Member

Откуда:
Сообщений: 23530
Возможный извращённый вариант - добавьте PK-поле в схему руками и выставьте StoreGeneratedPattern="Computed" у него.
2 апр 10, 19:30    [8573917]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Silverlight
Member [заблокирован]

Откуда:
Сообщений: 294
SculptoR
правильно пишет. таблица без праймари ключа не правильна. и в его понимании и в идеологии реляционных бд. зачем она должна быть без пк? пк может быть родным - редко видел, может быть синтетическим. но зачем же совсем без него?


В иделогии ER нигде не сказано, что PK обязателен. Более того, он даже вреден в плане производительности для таблиц с небольшим объемом данных. Не нужно под убогость ORM, подводить какую-то теоретическую базу.
4 апр 10, 11:50    [8576159]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
buser
Member

Откуда: Санкт-Петербург
Сообщений: 4277
Silverlight
SculptoR
правильно пишет. таблица без праймари ключа не правильна. и в его понимании и в идеологии реляционных бд. зачем она должна быть без пк? пк может быть родным - редко видел, может быть синтетическим. но зачем же совсем без него?


В иделогии ER нигде не сказано, что PK обязателен. Более того, он даже вреден в плане производительности для таблиц с небольшим объемом данных. Не нужно под убогость ORM, подводить какую-то теоретическую базу.

В добрый путь... всем знатокам теоретической базы :) Вызывает интерес, каким образом будут разруливаться UD операции при отсутствии уникального индекса? Хотя... стоит признать, ну не то чтоб убогость... зело умен EF, что порою бесит... и, казалось бы, вполне безобидные вещи невозможно сделать из-за "недюжего интеллекта" этой ORM, например - описанный случай и ряд других... Ну не @е дело провидцев от микрософт закрывать часть возможностей из-за возможности каких-то потенциальных коллизий при сохраненении... чай не лохи на кнопки давят мыж все понимем, ну просто нам так надо... мы все сами разрулим :) А Вы наверное на хибер намекаете?
4 апр 10, 15:31    [8576514]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Silverlight
Member [заблокирован]

Откуда:
Сообщений: 294
Уникальность можно поддерживать и без индексов. Я на все ОRM намекаю. Все они из одной бочки.
4 апр 10, 16:55    [8576622]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
bured
Member

Откуда:
Сообщений: 23530
Сева, твою любимую книгу на русском издали:

К сообщению приложен файл. Размер - 0Kb
7 апр 10, 10:34    [8590334]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Silverlight
Member [заблокирован]

Откуда:
Сообщений: 294
Я их в английском варианте уже давно читал. Быстрее всего - это уже мукулатура. Вчера выложен Preview 4.0 c существенными изменениями.
7 апр 10, 11:01    [8590534]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: EF edmx без праймери кей  [new]
Курдль
Member

Откуда: Мск
Сообщений: 1143
lans,
Не прошло и восьми лет с момента первоначального обсуждения :)
А воз и ныне там.
У меня с таблицами проблем нет - все честно имеют PK.
Но как быть с представлениями? MS SQL Server, насколько я понимаю, не позволяет объявлять ПК в представлениях.
Попытка обновить схему из БД неизменно приводит к следующему (исключению представления из модели):
warning 6013: The table/view 'dbo.V_XXX' does not have a primary key defined and no valid primary key could be inferred. 
This table/view has been excluded. To use the entity, you will need to review your schema, add the correct keys, and uncomment it.
18 авг 18, 18:28    [21646855]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
hVostt
Member

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

Нужно говорить про версию используемого EF.
EF это entity framework.

А не views framework ))
18 авг 18, 21:03    [21646913]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Курдль
Member

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

Нужно говорить про версию используемого EF.
EF это entity framework.

А не views framework ))

Версия 6.2.0
entity - это "сущность" и что?
Почему нельзя дать разработчику возможность указать ПК постфактум?
Точнее возможность такая есть - ручное вмешательство в edmx, после чего он больше не сможет автоматически апдэйтиться из БД
Ладно, я упаковал запрос в процедурину, потерял возможность видеть представление на схеме и выстраивать взаимосвязи с таблицами и т.п.
18 авг 18, 21:44    [21646925]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
hVostt
Member

Откуда:
Сообщений: 14744
Курдль
entity - это "сущность" и что?


То, что EF это фреймворк для работы с сущностями БД.
А сущность характеризуется наличием идентификатора (уникальный ключ).


Курдль
Почему нельзя дать разработчику возможность указать ПК постфактум?


Без проблем, указывайте.


Курдль
Точнее возможность такая есть - ручное вмешательство в edmx, после чего он больше не сможет автоматически апдэйтиться из БД


Потому что апдейт edmx из БД подходит только для проектов примитивного уровня или лабораторных работ. Просто в силу ограниченности возможностей, это работает только когда вас полностью устраивает генерация.


Курдль
Ладно, я упаковал запрос в процедурину, потерял возможность видеть представление на схеме и выстраивать взаимосвязи с таблицами и т.п.


Многие люди реально теряются при ответе на вопрос: вам шашечки, или ехать?
И в итоге рождаются какие-нибудь костыли.
И виноват какой-нибудь фреймворк :))
19 авг 18, 01:07    [21646986]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Курдль
Member

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

Вы во многом правы. Это, конечно же, моя проблема, что мне не нравится некоторый функционал EF.
На мой взгляд не должно быть наполовину беременных решений. Либо DB First, Code First.
Если я выбрал первое - не должен копаться в кишках кода каждый раз, как меняю модель данных.

Так что Вы предлагаете? Оставить представление и дальше edmx править только вручную?
А может быть создать индексированное представление?
19 авг 18, 11:03    [21647060]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 34636
Курдль,
Не понял проблему.
Выше он верно написал, что сущность это таблица.
Зачем вам вьюха?
19 авг 18, 12:55    [21647141]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Курдль
Member

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

Вот чего Вы все надо мною прикалываетесь?
Сущность - это элемент логической модели. Таблица - элемент физической реализации.
Зачем тогда всё многообразие объектов БД? Зачем вьюхи, процедуры, функции, массивы и коллекции?..
Мне для работы нужны не таблицы или сущности и т.п. Мне нужны НАБОРЫ ДАННЫХ.
В частном случае - результат рекурсивного запроса CTE. EF умеет строить рекурсивные запросы непосредственно к таблицам?
19 авг 18, 15:42    [21647231]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 34636
Курдль
Вот чего Вы все надо мною прикалываетесь?

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

Да. Тут противоречие сразу появляется, т.к. моделирование это приближение к реальности.
Объектые сущности надо сохранять где объектов и наследования нету - РСУБД.
Курдль
Мне для работы нужны не таблицы или сущности и т.п. Мне нужны НАБОРЫ ДАННЫХ.

Значит если не нужны классы и коллекции, то ОРМ и EF не нужен. Нужно как в дельфи - датасет.
Курдль
EF умеет строить рекурсивные запросы непосредственно к таблицам?

Зачем? Если вам ОРМ не нужен.
19 авг 18, 16:03    [21647239]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 34636
Курдль,
У меня есть проект где нет ОРМ и нормально работает.
19 авг 18, 16:04    [21647240]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
hVostt
Member

Откуда:
Сообщений: 14744
Курдль
Если я выбрал первое - не должен копаться в кишках кода каждый раз, как меняю модель данных.


Вообще-то DB First по сути, это когда у вас есть уже готовая БД и вам нужно для неё быстро сделать работающую систему.

Но некоторые люди по незнанию выбирают такой подход в длительной разработке, и это big mistake.
Комплекс изменений, который вы сделаете в БД очень легко может стать unresolvable, так как EF не обладает искусственным интеллектом, чтобы понять, что на самом деле произошло и как это сопоставить с моделью.

Есть лишь два единственных адекватных способа вести длительную разработку ПО и модели данных с использованием EF: Model First и Code First.

Курдль
Так что Вы предлагаете? Оставить представление и дальше edmx править только вручную?


Предлагаю перейти на Model First или Code First. Если это не подходит в силу привычек (очень сильно хочется DDL, до коликах в животе), тогда вам нужен другой ORM и полностью ручное сопровождение. Например, Dapper или LiteDb.

Курдль
А может быть создать индексированное представление?


Индексация тут не при чём.

Курдль
Мне для работы нужны не таблицы или сущности и т.п. Мне нужны НАБОРЫ ДАННЫХ.


Ну и как EF, который работает с сущностями должен определять ваши «наборы данных», как их сопровождать и как с ними работать, как отслеживать изменения и как работать с кешем? Ответ -- никак.

Курдль
В частном случае - результат рекурсивного запроса CTE. EF умеет строить рекурсивные запросы непосредственно к таблицам?


В Code First это делается, например, путём определения класса-сущности для вьюхи и ручной миграцией с SQL. По крайне мере это работает в любых условиях и поведение ожидаемое. :)
19 авг 18, 19:29    [21647316]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 34636
hVostt
Вообще-то DB First по сути, это когда у вас есть уже готовая БД и вам нужно для неё быстро сделать работающую систему.

Но некоторые люди по незнанию выбирают такой подход в длительной разработке, и это big mistake.
Комплекс изменений, который вы сделаете в БД очень легко может стать unresolvable
нет.
Это делают когда БД есть и ее масштаб - предприятие. Генериррвать не дадут.
Но у нас же не про рассогласование вопрос.
А о вьюхах и зачем они в ОРМ.
19 авг 18, 21:18    [21647375]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
hVostt
Member

Откуда:
Сообщений: 14744
Petro123
Это делают когда БД есть и ее масштаб - предприятие. Генериррвать не дадут.


Чего это ты мне рассказываешь :)
У нас проекты масштабов предприятия федерального уровня,
ни в одном из них нет БД, которую пилит своими руками в DDL какой-то кадр
всё управляется ПО, никто вообще не имеет никаких прав лезть в БД руками,
только на чтение

и это прекрасно :)
19 авг 18, 23:18    [21647438]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
hVostt
Member

Откуда:
Сообщений: 14744
Petro123
А о вьюхах и зачем они в ОРМ.


CTE ты без вьюхи в EF не сделаешь, увы
не считая custom sql, но это уже за гранью
19 авг 18, 23:19    [21647439]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 34636
hVostt,
Ну и у нас федерального.
Только я не говорю что у нас лучше других)).
У вас проекты другие.
20 авг 18, 07:21    [21647535]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 34636
hVostt
Petro123
А о вьюхах и зачем они в ОРМ.


CTE ты без вьюхи в EF не сделаешь, увы
не считая custom sql, но это уже за гранью

А зачем это делать?
И как ты с ОРМ поменяешь базу при этом?
Ведь одна из основных фич ОРМ это смена базы.
Т.е. довод про CTE от лукавого.
Это не нужно что при dbfirst, что при codefirst.
20 авг 18, 07:25    [21647537]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
hVostt
Member

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


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

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 34636
hVostt
CTE ты без вьюхи в EF
если пойти дальше то это и в хибере не сделать и в java не сделать.
Поэтому тему какую то странную подняли)).
DbFirst или CodeFirst тут ворбще ни при чем.
20 авг 18, 07:44    [21647539]     Ответить | Цитировать Сообщить модератору
 Re: EF edmx без праймери кей  [new]
Petro123
Member

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

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

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

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

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

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

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

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

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 34636
Курдль,
Сгенерируй во вьюхе первичный. Может прокатит.
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)
Сообщений: 34636
Курдль
Как
у меня в постгри есть 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)
Сообщений: 34636
Курдль,
Значит именно обмануть ОРМ не удалось.
Делай как все делают. Заводи тему и спрашивай почему у других нет проблем.

Курдль
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)
Сообщений: 34636
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

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


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

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


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


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

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

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

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