简体   繁体   English

如何动态创建LINQ QUERY?

[英]How to create LINQ QUERY dynamically?

Is there any way to insert part of the code between { } dynamically? 有没有办法在{}之间动态插入部分代码?

LINQ QUERY: LINQ查询:

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.. 感谢您的回答。

Try investigating Dynamic Linq Query Library. 尝试调查动态Linq查询库。

http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx 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 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. 您需要将Split返回的字符串数组转换为IQueryable才能工作,但我认为这是您的最佳选择。

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

Is how I'd I imagine it would work?. 我以为我会想象它会如何工作?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM