【发布时间】:2011-09-29 19:08:57
【问题描述】:
我有几个需要查询的数据集。使用 linq,我最终得到了这样的代码..
var query =
from table1 in table_1.AsEnumerable()
join table2 in table_2.AsEnumerable()
on table1.Field<string>("Value1") equals
table2.Field<string>("value2") into join1
from joinData in join1.AsEnumerable()
join table1_1 in table_1.AsEnumerable()
on joinData.Field<string>("Value3") equals
table1_1.Field<string>("Value1")
into join2
from joinData2 in join2.AsEnumerable()
where joinData2.Field<string>("Value4") == "1" ||
joinData2.Field<string>("Value4") == "2" ||
joinData2.Field<string>("Value4") == "3" ||
joinData2.Field<string>("Value4") == "4" ||
joinData2.Field<string>("Value4") == "5" ||
joinData2.Field<string>("Value4") == "6" ||
joinData2.Field<string>("Value4") == "7" ||
joinData2.Field<string>("Value4") == "8"
select new
{
Value1 = data1.Field<string>("Value1"),
Value2 = data1.Field<string>("Value2"),
Value3 = data1.Field<string>("Value3"),
Value4 = data1.Field<string>("Value4"),
Value5 = data1.Field<string>("Value5"),
Value6 = data1.Field<string>("Value6"),
Value7 = data1.Field<string>("Value7"),
Value8 = data1.Field<string>("Value8"),
Value9 = data1.Field<string>("Value9"),
Value10 = data1.Field<string>("Value10"),
Value11 = data1.Field<string>("Value11"),
Value12 = data1.Field<string>("Value12"),
etc...
};
必须有一种更简单的方法来做到这一点。有什么方法可以只用 SQL 语句查询数据集?
【问题讨论】: