public static class DomainContextExtension { /// <summary> /// DavidB : This provides a generic access to an entitySet of a given type. /// </summary> /// <typeparam name="T">An entity type</typeparam> public static EntitySet<T> GetEntitySet<T>(this DomainContext source) where T : Entity { Type domainType = source.GetType(); var properties = domainType.GetProperties(); foreach (PropertyInfo pi in properties) { if (!pi.PropertyType.Name.Contains("EntitySet")) continue; var tArgs = pi.PropertyType.GetGenericArguments(); if (tArgs.Count() > 0 && tArgs.FirstOrDefault() == typeof(T)) { EntitySet<T> entitySet = (EntitySet<T>)pi.GetValue(source, null); return entitySet; } } return null; } }
Monday, 20 August 2012
RIA: Get EntitySet DomainContext extension method
The default RIA class generates an EntitySet for each type in your ObjectContext.While doing some generics data operation in a generic control inheritance, it's difficult to know on which EntitySet of the DomainContext an action should be performed. In my case i only have one EntitySet for each Entity type so i created the following DomainContext extension.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment