Приложих следното решение, докато mono не вгради артефактите на метаданните на Entity Framework
- Стъпка 1 – Актуализирайте свойството за обработка на артефакти на метаданните на модела на EntityFramework от „Вграждане в изходния монтаж“ до "Копиране в изходна директория"
Това копира артефактните файлове с метаданни в папката bin на проекта, съдържаща .edmx(Project1)
-
Стъпка 2 - Добавете следните събития след изграждане към референтния проект (Project2), за да копирате артефактните файлове с метаданни в неговия кош. Можете да ги добавите в края на файла на проекта .csproj. Заменете Проект1 с името на вашия проект.
<PropertyGroup> <PostBuildEvent Condition=" '$(OS)' != 'Unix' ">copy /Y "$(ProjectDir)..\Project1\bin\Debug\Models\*" "$(ProjectDir)\bin\Debug\" </PostBuildEvent> <PostBuildEvent Condition=" '$(OS)' == 'Unix' ">cp -a "$(ProjectDir)../Project1/bin/Debug/Models/." "$(ProjectDir)bin/Debug/" </PostBuildEvent> </PropertyGroup>
-
Стъпка 3 - Актуализирайте низа си за връзка
от
<add name="EntityframeworkTestEntities" connectionString="metadata=res://*/EntityFrameworkTestModel.csdl|res://*/EntityFrameworkTestModel.ssdl|res://*/EntityFrameworkTestModel.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=EntityframeworkTest;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
до
<add name="EntityframeworkTestEntities" connectionString="metadata=EntityFrameworkTestModel.csdl|EntityFrameworkTestModel.ssdl|EntityFrameworkTestModel.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=EntityframeworkTest;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />