private bool CanDecodeAllColumns(TSqlTable table) { try { foreach (TSqlColumn column in table.Columns.Where(column => column.ColumnType == ColumnType.Column)) { if (column.ObjectType == UserDefinedType.TypeClass) { } var descriptor = new ColumnDescriptor(column); } } catch (Exception e) { return(false); } return(true); }
private bool CanDecodeAllColumns(TSqlTable table) { try { foreach (TSqlColumn column in table.Columns.Where(column => column.ColumnType == ColumnType.Column)) { if (column.ObjectType == UserDefinedType.TypeClass) { } var descriptor = new ColumnDescriptor(column); } } catch (Exception e) { return false; } return true; }
private ScalarExpression GetColumnOrCastColumn(ColumnDescriptor column, string tableName) { var columnReference = new ColumnReferenceExpression(); columnReference.MultiPartIdentifier = MultiPartIdentifierBuilder.Get(tableName, column.Name.GetName()); if (column.UnderlyingType == "xml") { var cast = new CastCall(); var type = new SqlDataTypeReference(); type.SqlDataTypeOption = SqlDataTypeOption.NVarChar; type.Parameters.Add(new MaxLiteral()); cast.DataType = type; cast.Parameter = columnReference; return cast; } return columnReference; }