Implementoval jsem následující řešení, dokud mono nevloží artefakty metadat Entity Framework
- Krok 1 – Aktualizujte vlastnost zpracování artefaktů metadat modelu EntityFramework z „Vložit do výstupního sestavení“ na "Kopírovat do výstupního adresáře"
Tím se zkopírují soubory artefaktů metadat do složky bin projektu obsahujícího .edmx(Project1)
-
Krok 2 – Přidejte následující události po sestavení do referenčního projektu (Project2), abyste zkopírovali soubory artefaktů metadat do jeho přihrádky. Můžete je přidat na konec souboru projektu .csproj. Nahraďte Projekt1 s názvem vašeho projektu.
<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>
-
Krok 3 – Aktualizujte svůj připojovací řetězec
od
<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" />
do
<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" />