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方法的列表。(实际上没有那么多。)其中一个应该作为一个可能有用的工具脱颖而出,用于根据某些属性对项目进行分组。网页与控制台应用程序不是这里的问题!我还没到那个地步,还是坚持问题的主题吧?除非我是超级专家,否则这不是一个提问的好地方吗?