Databases Reference
In-Depth Information
private readonly TableProvider original;
private readonly ReadOnlyCollection<ColumnProvider> columns;
public UnleashedTableProvider(
UnleashedModelProvider model, TableProvider original)
: base(model)
{
this.original = original;
IEnumerable<PropertyDescriptor> customProperties = TypeDescriptor
.GetProperties(original.EntityType).Cast<PropertyDescriptor>()
.Where(p => !p.PropertyType.IsSubclassOf(typeof(EntityReference))
.Where(p => this.RootEntityType.IsAssignableFrom(p.ComponentType))
.Where(p => original.Columns.All(c => c.Name != p.Name));
this.columns = original.Columns
.Concat(customProperties.Select(p => new UnleashedColumnProvider(this, p)))
.ToList().AsReadOnly();
}
public override AttributeCollection Attributes
{
get { return this.original.Attributes; }
}
public override ReadOnlyCollection<ColumnProvider> Columns
{
get { return this.columns; }
}
public override string DataContextPropertyName
{
get { return this.original.DataContextPropertyName; }
}
public override Type EntityType
{
get { return this.original.EntityType; }
}
public override string Name
{
get { return this.original.Name; }
}
public override Type ParentEntityType
Search WWH ::




Custom Search