Class FlatRowSchema
Provides information about the columns in an external data source, where only the column names, number, and order are available. This is useful for working with columns, e.g. for implementing column mapping directly, or for building higher level constructs such as FromTypeRowMapper<TFrom> and ToTypeRowMapper<TTo>.
Use TypeRowSchema instead when you have access to the required .NET CLR type, since it can populate the instance automatically from the type. Otherwise use this class and specify columns explicitly.
Columns can be searched for via several Get* methods. They can also be accessed as a
flat list via the SchemaNodeList property,
and as a hierarchical tree via the SchemaNodeRoot
property, both of which return items in a well defined order controlled by OrderAttribute.
Note that the root node of the tree is not included in the SchemaNodeList list.
The hierarchical tree and flat list include all descendant fields and properties, down
to individual columns, e.g. int, byte[], SqlBinary etc.,
although for this class the tree only has a single level below the root.
See Dataflow Columns for details.
Inherited Members
Namespace: actionETL
Assembly: actionETL.dll
Syntax
public class FlatRowSchema : RowSchemaBase<FlatRowSchema, SchemaNode>
Methods
Create(IEnumerable<String>)
Retrieves or creates a FlatRowSchema instance with the specified column names.
One FlatRowSchema instance is cached for each unique ordered set of names.
This is useful when modeling a data source without any column hierarchy, but with column names,
since column mapping can be done on column name.
Declaration
public static FlatRowSchema Create(IEnumerable<string> columnNames)
Parameters
| Type | Name | Description |
|---|---|---|
| IEnumerable<String> | columnNames | The column names. |
Returns
| Type | Description |
|---|---|
| FlatRowSchema | A |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | columnNames |
Create(Int32)
Creates a FlatRowSchema instance with the specified number of columns. The first column will
have the name "0", the second "1" etc.
This is useful when modeling a data source without any column hierarchy and without any
intrinsic column name, since column mapping can be done on column index, or the generated
column names.
Declaration
public static FlatRowSchema Create(int columnCount)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | columnCount | The column count. |
Returns
| Type | Description |
|---|---|
| FlatRowSchema | A |
Exceptions
| Type | Condition |
|---|---|
| ArgumentException | columnCount - Must be 0 or greater. |
Create(String[])
Retrieves or creates a FlatRowSchema instance with the specified column names.
One FlatRowSchema instance is cached for each unique ordered set of names.
This is useful when modeling a data source without any column hierarchy, but with column names,
since column mapping can be done on column name.
Declaration
public static FlatRowSchema Create(params string[] columnNames)
Parameters
| Type | Name | Description |
|---|---|---|
| String[] | columnNames | The column names. |
Returns
| Type | Description |
|---|---|
| FlatRowSchema | A |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | columnNames |
ToString()
Returns a string that represents this instance.
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| String |