从数据库获取数据并将其存储在字符串中

时间:2017-11-20 23:34:26

标签: c# asp.net-mvc

我想使用原始sql查询从数据库中获取数据并将其存储在字符串中,以便我可以在以后或在控制器中多次使用它。

我这样做的方式,

spread()

给出了以下错误消息:

  

错误1最佳重载方法匹配   'System.Net.Mail.MailAddressCollection.Add(string)'有一些无效   参数

请帮忙。

提前致谢

1 个答案:

答案 0 :(得分:1)

您的错误消息是不言自明的! ExecuteSqlCommand方法返回int值。因此data变量的类型为int。您正尝试将该int变量传递给期望string值的Add method

如果您尝试从邮件表中获取电子邮件列值,则应考虑使用SqlQuery方法。

var data = db.Database.SqlQuery<string>(@"select email from mail").ToList();

此代码执行sql select email from mail并返回字符串列表(SQL结果集中每封电子邮件的一个字符串)。这意味着变量data的类型为List<string>。您可以遍历该集合并将每封电子邮件(string类型)添加到Add方法

foreach (var email in data)
{
    mail.To.Add(email);
}