2016-01-29 9 views
1

Я вижу, что этот вопрос задан совсем немного, но ни одно из решений не помогло мне, так как я сначала использую модель, а не код.EF6 Model First: указанная схема недействительна, ошибка 0040

У меня есть проект C# в VS 2015 с использованием EF6. Я создаю базу данных с использованием первого подхода модели и могу успешно генерировать код SQL из модели и запускать ее в SSMS. Я использую SQL Server LocalDB.

У меня есть проблема в том, что всякий раз, когда я пытаюсь добавить программно созданный объект в коллекцию (таблица), к которой он принадлежит, я всегда получаю ошибку

Исключения типа «System.Data.Entity .Core.MetadataException 'произошел в mscorlib.dll, но не был обработан в коде пользователя

Дополнительная информация: Указанная схема недействительна.

Ошибка: Market.ssdl (184,6): Ошибка 0040: Тип NVARCHAR (макс) не квалифицирована с пространством имен или псевдонимом. Только примитивные типы могут использоваться без квалификации.

Сущность, которую я создаю, имеет только одно свойство; строка (или nvarchar (max) в базе данных). Опять же, я могу создать объект, но как только я попытаюсь добавить его в свою коллекцию (или таблицу), прежде чем сохранять какие-либо изменения, я получаю вышеуказанную ошибку. Я даже не пытался называть свойство Name, но ошибка сохраняется.

using (var context = new MarketContainer()) { // Create data source var datasource = new DataSource() { Name = dataSourceName }; // Save data source context.DataSources.Add(datasource); }

Другой SO ответ предложил правой кнопкой мыши на файле .TT и нажав кнопку «Выполнить пользовательский инструмент», но это ничего не делать.

Я пробовал это один раз с MySQL, и он работал нормально! Теперь, когда мне нужно перейти на SQL Server, это не сработает ... Я застрял в этой проблеме уже более недели, так что любая помощь может пройти долгий путь.

+0

У вас есть диаграмма? – Juan

+0

Я решил проблему (см. Мой ответ ниже). – grantathon

ответ

1

Вопрос был решен. Я ссылался на проект, который содержал модель сущности из другого проекта, а App.configs не совпадали. Как только я скопировал содержимое из файла конфигурации проекта сущности в проект ссылки, все начало работать должным образом.

Надеюсь, это поможет кому-то, кроме меня!