C# 通过单嵌套循环功能发送每日电子邮件

C# 通过单嵌套循环功能发送每日电子邮件,c#,sql,.net,linq,datatable,C#,Sql,.net,Linq,Datatable,我正在创建一个网页,每天运行一次,向主管发送电子邮件通知。我希望每个主管都能收到一封包含所有员工数据的电子邮件,其中可能有多个事件 我有一些数据如下: supervisorEmail | employeeID | eventDate | eventDetails =================================================================================================== george@bl

我正在创建一个网页,每天运行一次,向主管发送电子邮件通知。我希望每个主管都能收到一封包含所有员工数据的电子邮件,其中可能有多个事件

我有一些数据如下:

supervisorEmail |   employeeID  |   eventDate   |   eventDetails
===================================================================================================
george@blah.org |   jones       |   2014-03-18  |   Watch a movie
george@blah.org |   jones       |   2014-03-20  |   Convention registration
george@blah.org |   smith       |   2014-03-20  |   Convention registration
george@blah.org |   smith       |   2014-03-20  |   Convention registration
gayle@blah.org  |   nloya       |   2014-03-13  |   some other stuff
gayle@blah.org  |   nloya       |   2014-03-25  |   this and that
我首先检索上述所有数据并将其放入数据表中。
接下来,我需要由主管分组,这样每个人都会收到一封电子邮件。
在每封电子邮件中,我需要为该主管筛选行。我知道LINQ可以用于其中的一些。我现在完全迷路了。我能至少向正确的方向推一下吗?

您可以通过
主管邮件对数据进行分组:

var groups = data.GroupBy(d => d.supervisorEmail);
foreach(var g in groups)
{
    SendEmail(g.Key, g);   // g is an IEnumerable<some type> with the data for that supervisor
}

public void SendEmail(string supervisorEmail, IEnumerable<some type> data)
{
    // send data to supervisor
}
var groups=data.GroupBy(d=>d.supervisorEmail);
foreach(组中的变量g)
{
sendmail(g.Key,g);//g是一个IEnumerable,包含该主管的数据
}
public void sendmail(字符串supervisorEmail,IEnumerable数据)
{
//向主管发送数据
}

“一个每天运行一次的网页”为什么不作为一个计划好的控制台应用程序来运行呢?那么看看所有LINQ方法的列表。(实际上没有那么多。)其中一个应该作为一个可能有用的工具脱颖而出,用于根据某些属性对项目进行分组。网页与控制台应用程序不是这里的问题!我还没到那个地步,还是坚持问题的主题吧?除非我是超级专家,否则这不是一个提问的好地方吗?