public IColumnBuilder Column(Expression <Func <T, object> > property) { var propertyInfo = PropertyHelper <T> .GetProperty(property); var columnDefinition = new ColumnDefinition() { MemberInfo = propertyInfo }; var builder = new ColumnBuilder(columnDefinition); _columnDefinitions[propertyInfo.Name] = columnDefinition; return(builder); }
public IColumnBuilder <T2> Column <T2>(Expression <Func <T, T2> > property) { MemberInfo[] members = MemberHelper <T> .GetMembers(property); MemberInfo memberInfo = members.Last(); ColumnDefinition columnDefinition = new ColumnDefinition() { MemberInfo = memberInfo }; ColumnBuilder <T2> builder = new ColumnBuilder <T2>(columnDefinition); string key = PocoColumn.GenerateKey(members); this._columnDefinitions[key] = columnDefinition; return(builder); }