private static void MergeInheritedProperties(EntityFramework dataServices, ComplexType complexType) { ComplexType baseComplexType = dataServices.ResourceWithIdentifier <ComplexType>(complexType.BaseType); while (baseComplexType != null) { for (int i = baseComplexType.Properties.Count - 1; i >= 0; i--) { if (!complexType.Properties.Contains(baseComplexType.Properties[i])) { complexType.Properties.Insert(0, baseComplexType.Properties[i]); } } if (baseComplexType.BaseType != null) { baseComplexType = dataServices.ResourceWithIdentifier <ComplexType>(baseComplexType.BaseType); } else { break; } } }
public virtual IODataNavigable NavigateByUriComponent(string component, EntityFramework edmx) { var propertyMatch = (from p in this.Properties where p.Name == component select p).FirstOrDefault(); if (null != propertyMatch) { var identifier = propertyMatch.Type; if (identifier.StartsWith("Collection(")) { var innerId = identifier.Substring(11, identifier.Length - 12); return(new ODataCollection(innerId)); } return(edmx.ResourceWithIdentifier <IODataNavigable>(identifier)); } return(null); }
public IODataNavigable NavigateByUriComponent(string component, EntityFramework edmx) { string targetType = null; var entitySet = (from e in EntitySets where e.Name == component select e).FirstOrDefault(); if (null != entitySet) { // EntitySet is always a collection of an item type targetType = "Collection(" + entitySet.EntityType + ")"; } else { var singleton = (from s in Singletons where s.Name == component select s).FirstOrDefault(); if (null != singleton) { targetType = singleton.Type; } } if (targetType != null) { if (targetType.StartsWith("Collection(")) { var innerId = targetType.Substring(11, targetType.Length - 12); return(new ODataCollection(innerId)); } return(edmx.ResourceWithIdentifier <IODataNavigable>(targetType)); } return(null); }
public IODataNavigable NavigateByUriComponent(string component, EntityFramework edmx) { string targetType = null; var entitySet = (from e in EntitySets where e.Name == component select e).FirstOrDefault(); if (null != entitySet) { // EntitySet is always a collection of an item type targetType = "Collection(" + entitySet.EntityType + ")"; } else { var singleton = (from s in Singletons where s.Name == component select s).FirstOrDefault(); if (null != singleton) { targetType = singleton.Type; } } if (targetType != null) { if (targetType.StartsWith("Collection(")) { var innerId = targetType.Substring(11, targetType.Length - 12); return new ODataCollection(innerId); } return edmx.ResourceWithIdentifier<IODataNavigable>(targetType); } return null; }
public IODataNavigable NavigateByEntityTypeKey(EntityFramework edmx) { return(edmx.ResourceWithIdentifier <IODataNavigable>(this.TypeIdentifier)); }
public IODataNavigable NavigateByEntityTypeKey(EntityFramework edmx) { return edmx.ResourceWithIdentifier<IODataNavigable>(this.TypeIdentifier); }
public virtual IODataNavigable NavigateByUriComponent(string component, EntityFramework edmx) { var propertyMatch = (from p in this.Properties where p.Name == component select p).FirstOrDefault(); if (null != propertyMatch) { var identifier = propertyMatch.Type; if (identifier.StartsWith("Collection(")) { var innerId = identifier.Substring(11, identifier.Length - 12); return new ODataCollection(innerId); } return edmx.ResourceWithIdentifier<IODataNavigable>(identifier); } return null; }