|
Database first. EF ищет не в тех таблицах.
|
|||
---|---|---|---|
#18+
Прошу помочь с простым вопросом! Создал файл edmx на основе существующей БД. Появились сущности. Запускаю проект. При попытке обращения к данным сущности EF, предпринимается попытка CREATE TABLE в базе, т.к. пытается найти данные в таблице с именем "Имя_сущности" + "s". Такое понятно, когда Code First, и лечится это добавлением атрибута [Table("имя")] к сущности EF. А как быть в случае с Database first ? Что я упустил? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2014, 12:30 |
|
Database first. EF ищет не в тех таблицах.
|
|||
---|---|---|---|
#18+
Добавлю ещё: EF ( 6.0.0.0, ставил через NuGet) вообще странно как-то ведёт себя. Видит, что в БД (соединение под пользователем SQL с правами только на SELECT) есть уже такая таблица, а всё равно пытается её создать: ругается, что нет прав на CREATE. А если дать такие права - что уже есть таблица с таким именем. Делаю уже не 1й проект - никогда такого не было. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2014, 08:42 |
|
Database first. EF ищет не в тех таблицах.
|
|||
---|---|---|---|
#18+
Что ещё обнаружил: Дал SQL-пользователю, под которым EF соединяется с SQL-Server, серверную роль sysadmin. Глюк пропал, EF стал видеть таблицы. Затем убрал админскую роль. И пока не закрыл проект - глюк не появлялся. Но когда заново переоткрыл проект -снова EF не видит таблиц. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2014, 11:47 |
|
Database first. EF ищет не в тех таблицах.
|
|||
---|---|---|---|
#18+
а схема у тех таблиц не отличается случаем от dbo ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2014, 11:54 |
|
Database first. EF ищет не в тех таблицах.
|
|||
---|---|---|---|
#18+
Konst_One, не отличается. Cхема только одна - dbo. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2014, 11:57 |
|
Database first. EF ищет не в тех таблицах.
|
|||
---|---|---|---|
#18+
тогда смотрите на права вашего пользователя БД, который не админ. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2014, 12:04 |
|
Database first. EF ищет не в тех таблицах.
|
|||
---|---|---|---|
#18+
Konst_One, уже 100 раз смотрел. У меня сейчас лишь 1 сущность EF - у пользователя, под которым EF лезет в базу, есть право на SELECT к этой таблице. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2014, 12:10 |
|
Database first. EF ищет не в тех таблицах.
|
|||
---|---|---|---|
#18+
а надо ещё права на схему данных ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2014, 12:35 |
|
Database first. EF ищет не в тех таблицах.
|
|||
---|---|---|---|
#18+
Konst_One, нет, права на схему не нужны. Для EF всегда достаточно прав на сами таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2014, 17:37 |
|
Database first. EF ищет не в тех таблицах.
|
|||
---|---|---|---|
#18+
Проблема решена! (2 дня убил на это) Сформулирую её точно: EF не видит SQL Server View. Он пытается создать таблицу с таким именем, и, конечно, напарывается на то, что уже есть объект с таким именем в БД. Причина: в классе DbContext, описывающим сущности контекста, стояла лишь одна запись, про эту самую view: Код: c# 1.
Как только я добавил описание ещё одной сущности (НЕ View, а Table), как EF сразу увидела view MyView. Очевидно, это такой глюк EF (пробовал несколько версий EF), что обязательно должна быть хоть 1 таблица. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2014, 17:44 |
|
|
start [/forum/topic.php?fid=17&msg=38564214&tid=1349844]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
125ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 226ms |
0 / 0 |