public void SqlTVPSimple1() { using var csvText = GetData(); // Gets a TextReader over a large-ish CSV dataset var conn = GetConnection(); conn.Open(); var data = Enumerable .Range(0, 10) .Select(i => new { Id = i, Name = "name " + i }); var dataReader = ObjectDataReader.Create(data); dataReader.AddColumn("Id", r => r.Id); dataReader.AddColumn("Name", r => r.Name); using var cmd = conn.CreateCommand(); cmd.CommandText = "InsertSimple1"; cmd.CommandType = CommandType.StoredProcedure; var param = new SqlParameter() { ParameterName = "data", SqlDbType = SqlDbType.Structured }; var paramData = dataReader; param.Value = paramData; cmd.Parameters.Add(param); cmd.ExecuteNonQuery(); }
public static DbDataReader GetBinaryData() { var items = GetTestBinary(); var reader = ObjectDataReader.Create(items); reader.AddColumn("Id", d => d.Id); reader.AddColumn("Data", d => d.Data); return(reader); }
public static DbDataReader GetTestDataReader(int recordCount = DefaultRecordCount, int valueCount = DefaultDataValueCount) { var items = GetTestObjects(recordCount, valueCount); var reader = ObjectDataReader.Create(items); reader.AddColumn("Id", d => d.Id); reader.AddColumn("Name", d => d.Name); reader.AddColumn("Date", d => d.Date); reader.AddColumn("IsActive", d => d.IsActive); for (int i = 0; i < valueCount; i++) { var idx = 0; reader.AddColumn("Value" + i, d => d.DataSet[idx]); } return(reader); }