public static List <EdmProperty> GetKeyProperties(this EntityType entityType) { HashSet <EntityType> visitedTypes = new HashSet <EntityType>(); List <EdmProperty> keyProperties = new List <EdmProperty>(); EntityTypeExtensions.GetKeyProperties(visitedTypes, entityType, keyProperties); return(keyProperties); }
public static System.Data.Entity.Core.Metadata.Edm.EntityType GetEntityType( this EdmModel model, Type clrType) { IList <System.Data.Entity.Core.Metadata.Edm.EntityType> entityTypeList = model.EntityTypes as IList <System.Data.Entity.Core.Metadata.Edm.EntityType> ?? (IList <System.Data.Entity.Core.Metadata.Edm.EntityType>)model.EntityTypes.ToList <System.Data.Entity.Core.Metadata.Edm.EntityType>(); for (int index = 0; index < entityTypeList.Count; ++index) { System.Data.Entity.Core.Metadata.Edm.EntityType entityType = entityTypeList[index]; if (EntityTypeExtensions.GetClrType(entityType) == clrType) { return(entityType); } } return((System.Data.Entity.Core.Metadata.Edm.EntityType)null); }
public static Type GetClrType(this EdmType item) { EntityType entityType = item as EntityType; if (entityType != null) { return(EntityTypeExtensions.GetClrType(entityType)); } EnumType enumType = item as EnumType; if (enumType != null) { return(EnumTypeExtensions.GetClrType(enumType)); } ComplexType complexType = item as ComplexType; if (complexType != null) { return(ComplexTypeExtensions.GetClrType(complexType)); } return((Type)null); }
private static void GetKeyProperties( HashSet <EntityType> visitedTypes, EntityType visitingType, List <EdmProperty> keyProperties) { if (visitedTypes.Contains(visitingType)) { return; } visitedTypes.Add(visitingType); if (visitingType.BaseType != null) { EntityTypeExtensions.GetKeyProperties(visitedTypes, (EntityType)visitingType.BaseType, keyProperties); } else { ReadOnlyMetadataCollection <EdmProperty> keyProperties1 = visitingType.KeyProperties; if (keyProperties1.Count <= 0) { return; } keyProperties.AddRange((IEnumerable <EdmProperty>)keyProperties1); } }
public static IEnumerable <Type> GetClrTypes(this EdmModel model) { return(model.EntityTypes.Select <System.Data.Entity.Core.Metadata.Edm.EntityType, Type>((Func <System.Data.Entity.Core.Metadata.Edm.EntityType, Type>)(e => EntityTypeExtensions.GetClrType(e))).Union <Type>(model.ComplexTypes.Select <ComplexType, Type>((Func <ComplexType, Type>)(ct => ComplexTypeExtensions.GetClrType(ct))))); }