public TiraggoEntityInfo(Edmx edm, string fullName) { edmx = edm; Mapping = edmx.Runtime.Mappings.Mapping.EntityContainerMapping.EntitySetMappings .Where(m => m.EntityTypeMapping.TypeName == fullName).Select(m => m).Single(); string conceptualName = Mapping.EntityTypeMapping.TypeName.Replace(edm.Runtime.ConceptualModels.Schema.Namespace + ".", ""); StorageInfo = edmx.Runtime.StorageModels.Schema.EntityContainer.EntitySets .Where(s => s.Name == Mapping.EntityTypeMapping.MappingFragment.StoreEntitySet).Single(); ConceptualModel = edmx.Runtime.ConceptualModels.Schema.EntityTypes .Where(c => c is tgConceptualEntityType).Select(c => c as tgConceptualEntityType).ToList <tgConceptualEntityType>() .Where(c => c.Name == conceptualName).Single(); ColumnMappings = Mapping.EntityTypeMapping.MappingFragment.ScalarProperties.ToDictionary(p => p.Name, p => p.ColumnName); ColumnCLR = ConceptualModel.Properties.ToDictionary(p => p.Name, p => p); tgEntityType sql = edm.Runtime.StorageModels.Schema.EntityTypes.Where(e => e.Name == Mapping.EntityTypeMapping.MappingFragment.StoreEntitySet).Single(); ColumnSQL = sql.Properties.ToDictionary(e => e.Name, e => e); PrimaryKeys = new Dictionary <string, string>(); foreach (tgPropertyRef key in ConceptualModel.Key) { PrimaryKeys[key.Name] = key.Name; } }
public TiraggoEntityInfo(Edmx edm, string fullName) { edmx = edm; Mapping = edmx.Runtime.Mappings.Mapping.EntityContainerMapping.EntitySetMappings .Where(m => m.EntityTypeMapping.TypeName == fullName).Select(m => m).Single(); string conceptualName = Mapping.EntityTypeMapping.TypeName.Replace(edm.Runtime.ConceptualModels.Schema.Namespace + ".", ""); StorageInfo = edmx.Runtime.StorageModels.Schema.EntityContainer.EntitySets .Where(s => s.Name == Mapping.EntityTypeMapping.MappingFragment.StoreEntitySet).Single(); ConceptualModel = edmx.Runtime.ConceptualModels.Schema.EntityTypes .Where(c => c is tgConceptualEntityType).Select(c => c as tgConceptualEntityType).ToList<tgConceptualEntityType>() .Where(c => c.Name == conceptualName).Single(); ColumnMappings = Mapping.EntityTypeMapping.MappingFragment.ScalarProperties.ToDictionary(p => p.Name, p => p.ColumnName); ColumnCLR = ConceptualModel.Properties.ToDictionary(p => p.Name, p => p); tgEntityType sql = edm.Runtime.StorageModels.Schema.EntityTypes.Where(e => e.Name == Mapping.EntityTypeMapping.MappingFragment.StoreEntitySet).Single(); ColumnSQL = sql.Properties.ToDictionary(e => e.Name, e => e); PrimaryKeys = new Dictionary<string, string>(); foreach (tgPropertyRef key in ConceptualModel.Key) { PrimaryKeys[key.Name] = key.Name; } }