C# Linq查询不向Datagridview返回任何数据(Linq查询可能失败)C
有人能帮忙吗?我需要在Extn_In_Call_Records=Extn_Number上返回一个表,如果任何一方不匹配,仍然返回一个值,就像SQL完全外部联接一样。我花了几个小时看这个,并得到了一些帮助,但无法让它工作!!正在从MYSQL填充数据表。任何帮助都会很好。我还想说我是LINQ和C的新手,我在查询中没有发现任何错误,但它没有向gridview返回任何内容 这些是由MySQL数据填充的表。我已将列名作为注释放在datatables下C# Linq查询不向Datagridview返回任何数据(Linq查询可能失败)C,c#,mysql,linq,C#,Mysql,Linq,有人能帮忙吗?我需要在Extn_In_Call_Records=Extn_Number上返回一个表,如果任何一方不匹配,仍然返回一个值,就像SQL完全外部联接一样。我花了几个小时看这个,并得到了一些帮助,但无法让它工作!!正在从MYSQL填充数据表。任何帮助都会很好。我还想说我是LINQ和C的新手,我在查询中没有发现任何错误,但它没有向gridview返回任何内容 这些是由MySQL数据填充的表。我已将列名作为注释放在datatables下 DataTable physextns = ne
DataTable physextns = new DataTable();
extnlkp.Fill(physextns);
//Table Format Below
//("Company_Name")
//("Phys_Switch_Name")
//("Extn_Number")
DataTable callrecdt = new DataTable();
callrec.Fill(callrecdt);
//Table Format Below
//("Switch_Name");
//("Extn_In_Call_Records");
//("Total_Calls");
//("Talk_Time");
//("Total_Cost");
try
{
//Full Result
var defaultPhysex = new { };
var left =from callrc in callrecdt.AsEnumerable()
join physex in physextns.AsEnumerable()
on callrc["Extn_In_Call_Records"] equals physex["Extn_Number"]
into temp
from physex in temp.DefaultIfEmpty()
select new
{
Extn_In_Call_Records = ("Extn_In_Call_Records"),
Total_Calls = ("Total_Calls"),
Extn_Number = ("Extn_Number"),
Phys_Switch_Name = ("Phys_Switch_Name"),
};
var right = from physex in physextns.AsEnumerable()
join callrc in callrecdt.AsEnumerable()
on physex["Extn_Number"] equals callrc["Extn_In_Call_Records"]
into temp
from physex1 in temp.DefaultIfEmpty(defaultPhysex)
select new
{
Extn_In_Call_Records = ("Extn_In_Call_Records"),
Total_Calls = ("Total_Calls"),
Extn_Number = ("Extn_Number"),
Phys_Switch_Name = ("Phys_Switch_Name"),
};
var union = left.Union(right);
fullresult.DataSource = union; //fullresult is the datatable I am populating
结果见
Extn_In_Call_Records Total_Calls Extn_Number Phys_Switch_Name
null 20 0 Hospital
null 310 1 Hospital
4 132 4 Hospital
2004 null null Hospital
2006 2 2006 Hospital
我看你的代码没有明显的问题。您对Union的调用应返回两个集合之间的所有公共记录 您没有说明要为哪个平台编程,所以我在WinForms DataGridView中尝试了它。Union返回的IEnumerable类型似乎没有绑定 尝试在末尾添加一个收费表
fullresult.DataSource = union.ToList();
谢谢你解决了这个问题。