Saya telah menerapkan solusi berikut hingga mono menyematkan artefak metadata Entity Framework
- Langkah1 - Perbarui properti Pemrosesan Artefak Metadata Model EntityFramework Anda dari "Sematkan di Rakitan Output" ke "Salin ke Direktori Keluaran"
Ini menyalin file artefak metadata ke folder bin proyek yang berisi .edmx(Project1)
-
Langkah2 - Tambahkan peristiwa pembangunan pos berikut ke proyek referensi (Proyek2) untuk menyalin file artefak metadata ke tempat sampahnya. Anda dapat menambahkannya ke akhir file proyek .csproj. Ganti Proyek1 dengan nama proyek Anda.
<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>
-
Langkah3 - Perbarui string koneksi Anda
dari
<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" />
untuk
<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" />