谁能告诉我如何指定SELECT语句中的特定列如下:
VAR combinedrows =从DT1在DsResults.Tables [0] .AsEnumerable()
加入DT2在DsResults.Tables [1] .AsEnumerable()
在dt1.Field<字符串>(方法名)等于dt2.Field<字符串>(方法名)
选择新{DT1,DT2};
数据表finaldt =新的DataTable(FinalTable);
finaldt.Columns.Add(新的DataColumn(SP的typeof(串)));
finaldt.Columns.Add(新的DataColumn(办法中的typeof(串)));
finaldt.Columns.Add(新的DataColumn(类的typeof(串)));
finaldt.Columns.Add(新的DataColumn(BLLMethod的typeof(串)));
DataRow的NEWROW = finaldt.NewRow();
的foreach(在combinedrows VAR行)
{
DataRow的数据行= finaldt.NewRow();
dataRow.ItemArray = row.dt1.ItemArray;
finaldt.Rows.Add(数据行);
}
解决方案
如果要指定要选择,你应该尝试改变这列
combinedrows =从DT1在DsResults.Tables [0] .AsEnumerable()加盟
DT2中DsResults.Tables [1] .AsEnumerable()上dt1.Field(方法名)等于
dt2.Field(方法名)选择新的{DT1,DT2};
在
combinedrows =从DT1在DsResults.Tables [0] .AsEnumerable()加盟
DT2中DsResults.Tables [1] .AsEnumerable()上dt1.Field(方法名)等于
dt2.Field(方法名)选择新
{
dt1.columnName;
dt2.columnName2;
dt2.columnName3;
等等
}
希望这你要找的是什么
您可以看看在的LinQ -CheatSheet
Can anyone Please tell me how to specify the particular column in the select statement given below:
var combinedrows = from dt1 in DsResults.Tables[0].AsEnumerable()
join dt2 in DsResults.Tables[1].AsEnumerable()
on dt1.Field<string>("MethodName") equals dt2.Field<string>("MethodName")
select new { dt1, dt2 };
DataTable finaldt = new DataTable("FinalTable");
finaldt.Columns.Add(new DataColumn("sp", typeof(string)));
finaldt.Columns.Add(new DataColumn("Method", typeof(string)));
finaldt.Columns.Add(new DataColumn("Class", typeof(string)));
finaldt.Columns.Add(new DataColumn("BLLMethod", typeof(string)));
DataRow newrow = finaldt.NewRow();
foreach (var row in combinedrows)
{
DataRow dataRow = finaldt.NewRow();
dataRow.ItemArray = row.dt1.ItemArray;
finaldt.Rows.Add(dataRow);
}
解决方案
If you want to specify which columns you want to select, you should try changing
combinedrows = from dt1 in DsResults.Tables[0].AsEnumerable() join
dt2 in DsResults.Tables[1].AsEnumerable() on dt1.Field("MethodName") equals
dt2.Field("MethodName") select new { dt1, dt2 };
in
combinedrows = from dt1 in DsResults.Tables[0].AsEnumerable() join
dt2 in DsResults.Tables[1].AsEnumerable() on dt1.Field("MethodName") equals
dt2.Field("MethodName") select new
{
dt1.columnName;
dt2.columnName2;
dt2.columnName3;
etc.
}
Hope this what you were looking for.
You can have a look at the LinQ-CheatSheet