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