के लिए सभी पीओसीओ प्रकार प्राप्त करें क्या डीओसीएन्टेक्स्ट उदाहरण से पीओसीओ के प्रकार प्राप्त करने का कोई तरीका है?ईएफ कोडफर्स्ट: डीबीसीएन्टेक्स्ट
उत्तर
public class MyContext : DbContext
{
public void Test()
{
var objectContext = ((IObjectContextAdapter)this).ObjectContext;
var mdw = objectContext.MetadataWorkspace;
var items = mdw.GetItems<EntityType>(DataSpace.CSpace);
foreach (var i in items)
{
Console.WriteLine("Class Name: {0}", i.Name);
}
}
tnx, लेकिन मुझे पीओसीओ क्लास टाइप, गुण, और गुण विशेषताओं तक पहुंच की आवश्यकता है - EntityType इंस्टेंस प्रॉपर्टीज, प्रॉपर्टीजेटाडाटा आदि में अपना कार्यान्वयन देता है। – DrAlligieri
@DrAlligieri आप इस प्रकार का पूरा नाम प्राप्त कर सकते हैं और फिर गुणों और विशेषताओं तक पहुंचने के लिए प्रतिबिंब का उपयोग करें। – Eranga
पूर्णनाम "कोडफर्स्टडेटाबेसस्केमा। टाइप नाम" देता है, कोड फर्स्टडाबेसस्केमा - पीओसीओ कक्षा – DrAlligieri
@Lei यांग का उपयोग करने की जरूरत है: आप इस का उपयोग कर सकते एक सूची में सभी प्रकार प्राप्त करने के लिए।
var objectContext = ((IObjectContextAdapter) dbContext).ObjectContext;
var mdw = objectContext.MetadataWorkspace;
var items = mdw.GetItems<EntityType>(DataSpace.CSpace);
var dbContextAssembly = dbContext.GetType().Assembly;
var entityTypes = new List<Type>();
foreach (var i in items) {
entityTypes.Add(dbContextAssembly.GetType(i.FullName));
}
दुर्भाग्य से, मैं स्वीकार किए जाते हैं जवाब को संपादित नहीं कर सकता है - आप बस के रूप में
var items = mdw.GetItems<EntityType>(DataSpace.OSpace);
इस प्रकार एफई प्रॉक्सी अपने POCO वर्गों के बजाय प्राप्त करने के लिए इस्तेमाल किया dataspace बदलने की जरूरत है।
एक ही समस्या है, क्या आप हल करते हैं? मुझे मदद चाहिए .. =/ –