private void button1_Click(object sender, EventArgs e) { var headers = new OrderHeaderCollection(); var details = new OrderDetailCollection(); headers.Add(new OrderHeader() { OrderId = 6, CustomerId = 51, OrderedAt = Convert.ToDateTime("1/1/2008") }); details.Add(new OrderDetail() { OrderId = 6, LineNumber = 1, ProductId = 12, Quantity = 2, Price = 15.95m }); details.Add(new OrderDetail() { OrderId = 6, LineNumber = 2, ProductId = 57, Quantity = 1, Price = 59.99m }); details.Add(new OrderDetail() { OrderId = 6, LineNumber = 3, ProductId = 36, Quantity = 10, Price = 8.50m }); headers.Add(new OrderHeader() { OrderId = 7, CustomerId = 51, OrderedAt = Convert.ToDateTime("1/2/2008") }); details.Add(new OrderDetail() { OrderId = 7, LineNumber = 1, ProductId = 23, Quantity = 2, Price = 79.50m }); details.Add(new OrderDetail() { OrderId = 7, LineNumber = 2, ProductId = 78, Quantity = 1, Price = 3.25m }); using (var conn = new SqlConnection("Data Source=.;Initial Catalog=MyDb;Integrated Security=True;")) { conn.Open(); using (var cmd = new SqlCommand("uspInsertOrders", conn)) { cmd.CommandType = CommandType.StoredProcedure; var headersParam = cmd.Parameters.AddWithValue("@OrderHeaders", headers); var detailsParam = cmd.Parameters.AddWithValue("@OrderDetails", details); headersParam.SqlDbType = SqlDbType.Structured; detailsParam.SqlDbType = SqlDbType.Structured; cmd.ExecuteNonQuery(); } conn.Close(); } }
//internal static void EmployeeProc(IDataReader dr, FieldDictionary Fields, object Param) //{ // EmployeeCollection coll = Param as EmployeeCollection; // Employee item = Mapper.ReadEmployee(dr, Fields); // coll.Add(item); //} internal static void OrderDetailProc(IDataReader dr, FieldDictionary Fields, object Param) { OrderDetailCollection coll = Param as OrderDetailCollection; OrderDetail item = Mapper.ReadOrderDetail(dr, Fields); coll.Add(item); }
public static OrderDetailCollection ToDtoCollection(this EntityCollection <OrderDetailEntity> entities) { OnBeforeEntityCollectionToDtoCollection(entities); var seenObjects = new Hashtable(); var collection = new OrderDetailCollection(); foreach (var entity in entities) { collection.Add(entity.ToDto(seenObjects, new Hashtable())); } OnAfterEntityCollectionToDtoCollection(entities, collection); return(collection); }