我喜欢LINQ esp。 LINQ to SQL。 LINQ用于静态表(其中表的结构事先已知)是很好的。
我现在有一个表格列表,我只知道表格名称(作为字符串)。我也知道表中的每一行都有一个ID /主键(int)和许多未确定的列,其数据类型是varchar / string。我可以使用SMO获取列的名称。
我想知道查询这些列的最佳方法是什么,例如在每个人身上分别运行?通过将查询直接转换为SQL,LINQ to SQL似乎非常高效。我不想手工编写SQL。
答案 0 :(得分:0)
LINQ适用于类型 - 如果没有为表生成类,则无法真正使用LINQ。您试图在非强类型场景中使用强类型工具。
您可能需要SQL构建器库,例如http://www.codeproject.com/Articles/13419/SelectQueryBuilder-Building-complex-and-flexible-S
答案 1 :(得分:0)
也许动态linq会满足您的需求
Dynamic LINQ (Part 1: Using the LINQ Dynamic Query Library)
从MSDN
下载段:
// your columnnames would be more dynamic :)
string columnName1 = "id";
string columnName2 = "someOther";
// to execute a dynamic query simple put the columnnames with your
yourContext.SomeItems
.Where(string.Format("{0} == 123 and {1} > 4",columnName1, columnName2);