c# - How do we use a LINQ query on a Dictionary with a nested object? -
what trying bulk insert values dictionary database.
here how dictionary setup:
public class record { public int valuenumber; public string valuestring; public byte[] valuebinary; public datetime valuedatetime; } public dictionary<string, record> elements = new dictionary<string, record>();
i want ultimately, this:
ienumerable<datarow> query = elements.asenumerable(); // create table query. datatable dt = query.copytodatatable<datarow>(); // insert database sqlbulkutilities.bulkinsertdatatable(connectionstring, "orders", dt);
here sqlbulkutilities looks like:
public class sqlbulkutilities { public static void bulkinsertdatatable(string connectionstring, string tablename, datatable table) { using (sqlconnection connection = new sqlconnection(connectionstring)) { sqlbulkcopy bulkcopy = new sqlbulkcopy ( connection, sqlbulkcopyoptions.tablelock | sqlbulkcopyoptions.firetriggers | sqlbulkcopyoptions.useinternaltransaction, null ); bulkcopy.destinationtablename = tablename; connection.open(); bulkcopy.writetoserver(table); connection.close(); } } }
what each datarow in datatable should this:
key, valuenumber, valuestring, valuebinary, valuedatetime
where "key" key in each entry in dictionary.
if "key" right in "record" object, have no issue, expect. it's not.
use this:
var result = e in elements select new { key = e.key, valnum = e.value.valuenumber... };
Comments
Post a Comment