生のSQLクエリを使用してデータベースからデータを取得し、それを文字列に保存して、後でまたはコントローラーで複数回使用できるようにします。
私のやり方、
var data=db.Database.ExecuteSqlCommand(@"select email from mail");
mail.To.Add(data);
次のエラーメッセージが表示されます。
エラー1「System.Net.Mail.MailAddressCollection.Add(string)」に最もよく一致するオーバーロードされたメソッドにいくつかの無効な引数があります
助けてください。
前もって感謝します 。
あなたのエラーメッセージは自明です!ExecuteSqlCommand
方法は戻りint
値。したがって、data
変数のタイプはですint
。そのint変数を、値を期待するAdd
メソッドに渡そうとしていstring
ます。
メールテーブルからEメール列の値を取得しようとしている場合は、SqlQuery
メソッドの使用を検討する必要があります。
var data = db.Database.SqlQuery<string>(@"select email from mail").ToList();
このコードはSQLselect email from mail
を実行し、文字列のリストを返します(SQL結果セットからの電子メールごとに1つの文字列)。これは、変数data
がタイプであることを意味しますList<string>
。そのコレクションをループして、各電子メール(string
タイプ)をAdd
メソッドに追加できます
foreach (var email in data)
{
mail.To.Add(email);
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加