subsonic / SubSonic-3.0

SubSonic 3.0 for the .NET 3.5 Framework
http://subsonic.github.io/
557 stars 210 forks source link

InlineQuery and ExecuteTypedList() #278

Open vovikdrg opened 12 years ago

vovikdrg commented 12 years ago

i have query new InlineQuery(Provider, usersSql).ExecuteTypedList(); but in my user model i have SubSonicColumnNameOverrideAttribute and it doesnt work properly overrided columns are not set.

But why not to work with Columns override instead of passing column names like in Database.Load(

var overridingAttributes = (from p in iType.GetProperties() let attr = p.GetCustomAttributes(typeof(SubSonicColumnNameOverrideAttribute), true) select new { Property = p, Attribute = attr.First() as SubSonicColumnNameOverrideAttribute });

and replace if (currentProp == null && ColumnNames != null && ColumnNames.Count > i) { currentProp = cachedProps.First(x => x.Name == ColumnNames[i]); }

to

if (currentProp == null) { dynamic customObject = overridingAttributes.FirstOrDefault(arg => arg.Attribute.ColumnName == pName); if (customObject != null) { currentProp = customObject.Property; } }