Я хочу запустить тесты с помощью Effort, и для этого мне нужно указать строку соединения, которая также содержит ссылку на .csdl,
.ssdl
и .msl
. (Нерабочий) ConnectionString будет выглядеть так:Где сначала найти файлы .csdl, .ssdl и .msl в коде Entity Framework 4.0?
<add name="SQLAzureConnection" connectionString=
"metadata=res://*/Model.projectContext.csdl|
res://*/Model.projectContext.ssdl|res://*/Model.projectContext.msl;
provider=System.Data.SqlClient;
provider connection string="Data Source=(LocalDb)\v11.0;Initial Catalog=Database_Nieuw;Integrated Security=false;MultipleActiveResultSets=False""
providerName="System.Data.EntityClient" />
Model.projectContext
часть неверны, но я не знаю, что это должно быть.
Когда я использую эту строку, я получаю следующую ошибку в тесте, который использует эту строку соединения, чтобы создать соединение с базой данных с помощью Effort.
Test: failed
Result Message: Initialization method
project.Tests.Controllers.ShoppingCartTest.Initialize threw exception.
System.InvalidOperationException: System.InvalidOperationException: Resource res://*
/Model.seashell_brawl_corveeContext.csdl not found..
Я понятия не имею, где я могу найти этот файл .csdl
, я только знаю, что это необходимо. Я не могу создать их из моего файла .emdx
, потому что у меня есть первая база данных кода, и щелчок правой кнопкой мыши в дизайнере не дает опции Update database from model
, так как another question дал в качестве решения. Я также установил Metadata Artifact Processing" option to "Embed in Output Assembly.
Кто-нибудь знает, где я могу найти эти файлы и как я могу правильно их ссылаться?
/Edit:
Хорошо, это ясно мне теперь, что файлы не существуют в коде первых проектов. Используя подсказку user20 ... ниже в комментариях, строка подключения, похоже, работает сейчас. Новый выпуск состоит в следующем:
`Test Outcome: Failed error 0040: The Type date is not qualified with a namespace or
alias. Only primitive types can be used without qualification.`
Очень странно, так как я использую [DataType(DataType.DateTime)]
везде. Кто-нибудь знает, как это решить?
При использовании кода First вы не имеете .csdl, .ssdl и .msl. Строка соединения также отличается. В основном правильная строка соединения - это то, что описано как «строка подключения поставщика» в вашей текущей строке подключения. – user3038092
Хорошо, что объясняет многое! Поэтому я должен использовать строку подключения поставщика. Я попробую и отчитаюсь./Редактировать. Хорошо, я изменил его. -> Теперь он говорит, что ключевое слово «Источник данных» не поддерживается. –
@ user3038092 Как я могу ссылаться на строку подключения в отношении ошибки «Источник данных не поддерживается»? Возможно ли это? Обратите внимание, что эта строка подключения находится в моем тестовом проекте. Не в реальном проекте, там строка работает. –