本文整理汇总了C#中ObjectReader.Add方法的典型用法代码示例。如果您正苦于以下问题:C# ObjectReader.Add方法的具体用法?C# ObjectReader.Add怎么用?C# ObjectReader.Add使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ObjectReader
的用法示例。
在下文中一共展示了ObjectReader.Add方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RecordExample
public void RecordExample()
{
// To create a record that implement IDataRecord we start with a record set definition.
RecordSetDefinition recordSetDefinition = new RecordSetDefinition(
new ColumnDefinition("ID", SqlDbType.Int),
new ColumnDefinition("Name", SqlDbType.Char, 50),
new ColumnDefinition("Description", SqlDbType.NVarChar),
// This column is not nullable so defaults to true
new ColumnDefinition("Active", SqlDbType.Bit, isNullable: false, defaultValue: true)
);
// Now we can create a record
IObjectRecord dataRecord = new ObjectRecord(recordSetDefinition, 1, "Test", "This is my test record");
// Or we can create one with random values
IObjectRecord randomRecord = new ObjectRecord(recordSetDefinition, true);
// To create a record that throws an exception we first create a SqlException
// We can't do this directly, but we can use our prototypes to construct one.
// SqlExceptions are made from a collection of SqlErrors - which can make like this :
SqlErrorCollection errorCollection = new SqlErrorCollectionPrototype
{
new SqlErrorPrototype(
1000,
80,
17,
"MyFakeServer",
"Connection Timeout.",
"spMySproc",
54)
};
SqlException sqlException = new SqlExceptionPrototype(errorCollection, "9.0.0.0", Guid.NewGuid());
IObjectRecord exceptionRecord = new ExceptionRecord(sqlException);
// We can stick these records into a recordset
// Note the records must have the same RecordSetDefinition (unless it's an exception record)
// The final record will through an exception when reached!
ObjectSet recordSet = new ObjectSet(recordSetDefinition)
{
dataRecord,
randomRecord,
//exceptionRecord
};
// We can add recordsets to an ObjectReader
ObjectReader reader = new ObjectReader
{
recordSet
};
// We can also add random record sets - this one has the same definition as the first.
reader.Add(new RandomSet(recordSetDefinition));
// We can also fix certain rows values using the column generators arry, a null indicates
// that the column should us a random value, otherwise a lambda can be supplied - in this case
// it sets the row to the row number (1 - indexed).
reader.Add(
new RandomSet(
recordSetDefinition,
columnGenerators: new Func<int, object>[] { null, row => "Row #" + row }));
// Whereas this one has a random set of columns (with random types).
reader.Add(new RandomSet(10));
// Now that we have a reader we can use it like a normal reader - it even simulates disposal.
using (IDataReader dataReader = reader)
{
int recordset = 1;
do
{
Trace.Write("Recordset #" + recordset);
int rows = 0;
while (dataReader.Read())
rows++;
Trace.WriteLine(" - " + rows + " rows.");
recordset++;
} while (dataReader.NextResult());
}
}