से तालिका का नाम प्राप्त करें मैं कोड प्रथम दृष्टिकोण के साथ इकाई फ्रेमवर्क 4.1 का उपयोग कर रहा हूं। मैं अपने संस्थाओं के भंडारण मॉडल प्रकार और स्तंभ नाम प्राप्त करने में सक्षम हूँ:इकाई फ्रेमवर्क - इकाई
var items = context.ObjectContext.MetadataWorkspace.GetItems<EntityType>(DataSpace.SSpace);
foreach (var i in items)
{
Console.WriteLine("Table Name: {0}", i.Name);
Console.WriteLine("Keys:");
foreach (var key in i.KeyMembers)
Console.WriteLine("\t{0} ({1})", key.Name, key.TypeUsage.EdmType.FullName);
Console.WriteLine("Members:");
foreach (var member in i.Members)
Console.WriteLine("\t{0} ({1})", member.Name, member.TypeUsage.EdmType.FullName);
}
क्या मैं जरूरत वास्तविक तालिका नाम संस्था के लिए मैप किया गया है प्राप्त करने के लिए है। निर्दिष्ट करने के विभिन्न तरीके हैं (फ़्लुएंट-एपीआई का उपयोग करके। टोटेबल(), डेटा एनीोटेशन [टेबल एट्रिब्यूट])।
क्या इस जानकारी को प्राप्त करने का कोई आम तरीका है?
var tables = Context.MetadataWorkspace.GetItems(System.Data.Metadata.Edm.DataSpace.CSpace)
.Where(x => (x.MetadataProperties.Contains("NamespaceName") ? String.Compare(x.MetadataProperties["NamespaceName"].Value.ToString(), "Model", true) == 0 : false)
&& !x.MetadataProperties.Contains("IsForeignKey")
&& x.MetadataProperties.Contains("KeyMembers"));
है कि आप तालिका संस्थाओं मिल जाएगा:
इस के बाद से यह स्कीमा नाम वापस नहीं करता है काम नहीं करता है तालिका – NinjaCross