जब तक मोनो एंटिटी फ्रेमवर्क मेटाडेटा कलाकृतियों को एम्बेड नहीं करता, तब तक मैंने निम्नलिखित समाधान को लागू किया है
- चरण1 - "आउटपुट असेंबली में एम्बेड करें" से अपने EntityFramework मॉडल की मेटाडेटा आर्टिफ़ैक्ट प्रोसेसिंग प्रॉपर्टी को अपडेट करें करने के लिए "आउटपुट निर्देशिका में कॉपी करें"
यह मेटाडेटा आर्टिफैक्ट फ़ाइलों को प्रोजेक्ट के बिन फ़ोल्डर में कॉपी करता है जिसमें .edmx(Project1)
. होता है-
Step2 - मेटाडेटा आर्टिफैक्ट फ़ाइलों को इसके बिन में कॉपी करने के लिए रेफरेंसिंग प्रोजेक्ट (प्रोजेक्ट 2) में निम्नलिखित पोस्ट बिल्ड इवेंट जोड़ें। आप उन्हें .csproj प्रोजेक्ट फ़ाइल के अंत में जोड़ सकते हैं। प्रोजेक्ट1 Replace को बदलें अपने प्रोजेक्ट के नाम के साथ।
<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>
-
Step3 - अपनी कनेक्शन स्ट्रिंग अपडेट करें
से
<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" />