2016-02-05 2 views
0

sup? У меня возникла проблема, которая сильно замедляла мою работу, надеюсь, что ребята могут дать мне советы о том, как ее решить ....Entity Framework Data First - недопустимое имя объекта dbo.TableName

В настоящее время я использую EF6 и пользовательскую ConnectionString с конструктором connectionString класс, который читает и внешний XML-файл.

Моя база данных настроена и работает в SQL 2010 и Management Studio в порядке, но всякий раз, когда я сгенерирую файл edmx, он генерирует сопоставления классов в порядке, я сравнивал исходную ConnectionString с моим ConnectionString Builder, это то же, изменилось: base, чтобы получить настраиваемую ConnectionString, все установлено.

Но когда я пытаюсь сохранить изменения, он не находит объект таблицы, я удалил его, созданный снова с самого начала, все еще ту же ошибку «Недопустимый объект базы данных Dbo.TableName».

Есть ли у кого есть ключ к этому вопросу? Спасибо заранее!

+0

Дамп EDMX и вместо этого перейдите к использованию кода. EDMX - это наследие. Установите http://bit.ly/ReversePoco для обратной инженерии вашей базы данных. Используйте стандартную строку соединения, такую ​​как Источник данных = (локальный); Начальный каталог = Northwind; Integrated Security = SSPI; –

+0

Пробовал переходить к коду Первый подход, теперь он говорит «не удалось загрузить указанный ресурс метаданных» Даже при том, что я обновил свой собственный класс построителя ConnectionString ... –

+0

Как выглядит ваша строка подключения? Вы не можете использовать один для EDMX, поскольку они выглядят совсем по-другому. Они должны выглядеть так же, как и первые два, показанные здесь: http://www.connectionstrings.com/sql-server/ –

ответ

1

Эта ошибка исходит не от Entity Framework, а непосредственно из базы данных.

Используйте SQL Profiler и включите в трассировку «DatabaseName» и «ServerName», и вы обнаружите, что это не то же самое, что и ожидалось.

Единственные другие варианты, которые возникают в этой проблеме, это если ваше «tableName» не совпадает с именем таблицы в SQL, поэтому запустите SQL из SQL Profiler непосредственно в SSMS.

Смежные вопросы