powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Database first. EF ищет не в тех таблицах.
10 сообщений из 10, страница 1 из 1
Database first. EF ищет не в тех таблицах.
    #38562820
Andrey_VP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу помочь с простым вопросом!

Создал файл edmx на основе существующей БД.
Появились сущности.
Запускаю проект.
При попытке обращения к данным сущности EF, предпринимается попытка CREATE TABLE в базе, т.к. пытается найти данные в таблице с именем "Имя_сущности" + "s".

Такое понятно, когда Code First, и лечится это добавлением атрибута [Table("имя")] к сущности EF.

А как быть в случае с Database first ? Что я упустил?
...
Рейтинг: 0 / 0
Database first. EF ищет не в тех таблицах.
    #38563885
Andrey_VP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добавлю ещё:
EF ( 6.0.0.0, ставил через NuGet) вообще странно как-то ведёт себя. Видит, что в БД (соединение под пользователем SQL с правами только на SELECT) есть уже такая таблица, а всё равно пытается её создать: ругается, что нет прав на CREATE. А если дать такие права - что уже есть таблица с таким именем.
Делаю уже не 1й проект - никогда такого не было.
...
Рейтинг: 0 / 0
Database first. EF ищет не в тех таблицах.
    #38564187
Andrey_VP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что ещё обнаружил:

Дал SQL-пользователю, под которым EF соединяется с SQL-Server, серверную роль sysadmin.
Глюк пропал, EF стал видеть таблицы.
Затем убрал админскую роль. И пока не закрыл проект - глюк не появлялся.
Но когда заново переоткрыл проект -снова EF не видит таблиц.
...
Рейтинг: 0 / 0
Database first. EF ищет не в тех таблицах.
    #38564196
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а схема у тех таблиц не отличается случаем от dbo ?
...
Рейтинг: 0 / 0
Database first. EF ищет не в тех таблицах.
    #38564203
Andrey_VP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One, не отличается. Cхема только одна - dbo.
...
Рейтинг: 0 / 0
Database first. EF ищет не в тех таблицах.
    #38564214
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда смотрите на права вашего пользователя БД, который не админ.
...
Рейтинг: 0 / 0
Database first. EF ищет не в тех таблицах.
    #38564228
Andrey_VP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One, уже 100 раз смотрел. У меня сейчас лишь 1 сущность EF - у пользователя, под которым EF лезет в базу, есть право на SELECT к этой таблице.
...
Рейтинг: 0 / 0
Database first. EF ищет не в тех таблицах.
    #38564284
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а надо ещё права на схему данных
...
Рейтинг: 0 / 0
Database first. EF ищет не в тех таблицах.
    #38564917
Andrey_VP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One, нет, права на схему не нужны. Для EF всегда достаточно прав на сами таблицы.
...
Рейтинг: 0 / 0
Database first. EF ищет не в тех таблицах.
    #38564933
Andrey_VP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема решена! (2 дня убил на это)

Сформулирую её точно: EF не видит SQL Server View. Он пытается создать таблицу с таким именем, и, конечно, напарывается на то, что уже есть объект с таким именем в БД.

Причина: в классе DbContext, описывающим сущности контекста, стояла лишь одна запись, про эту самую view:
Код: c#
1.
public DbSet<MyView> MyView{ get; set; }


Как только я добавил описание ещё одной сущности (НЕ View, а Table), как EF сразу увидела view MyView.

Очевидно, это такой глюк EF (пробовал несколько версий EF), что обязательно должна быть хоть 1 таблица.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Database first. EF ищет не в тех таблицах.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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