views:

58

answers:

1

Hi all!

Is there any way to insert part of the code between { } dynamically?

LINQ QUERY:

var csvdata = from csvline in csvlines  
              let column = csvline.Split(';')  
              select new {  
                produkt = column[0],  
                cislo = column[1],  
                part = column[2],  
                serial = column[3]  
              };  

I mean something like:

string qpart = "produkt = column[0], cislo = column[1], part = column[2], serial = column[3]";  

var csvdata = from csvline in csvlines  
              let column = csvline.Split(';')  
              select new {  
                qpart  
              };  

Thanks for answers..

A: 

Try investigating Dynamic Linq Query Library.

http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

http://naspinski.net/post/Writing-Dynamic-Linq-Queries-in-Linq-to-Entities.aspx

You'll need to convert the string array returned from Split into IQueryable for it to work but I think this is your best shot.

var results = columns
  .Select("new(column[0] As produkt)");

Is how I'd I imagine it would work?.

MattC