厳密に型指定されたモデルとビューを作成しようとしています。コードのこの部分は、お問い合わせフォームで送信された「メール」のリストを返すことになっています。
今日送信されたすべてのフォーム送信を返したいです。SQL Server 2008 のデータ型はdatetime
. したがってDateTime
、モデルにフィールドがあります。
public ActionResult ResultTable()
{
CombinedReport report = new CombinedReport();
report.emails = report.db.ContactEmails.Where(w => w.FormInserted.Equals(DateTime.Today)).ToList();
return PartialView(report);
}
これをローカルの組み込み SQL Server CE 用に構成して実行すると、正常に動作しました。
SQL Server 2008 を実行している実際のデータベース用にセットアップすると、機能しません。
試行錯誤を繰り返し、プログラムの他の部分のコードを調べたところ、C# の実装が日付の一部としてDateTime
含ま12:00:00AM
れていることに気付きました。SQL との比較を行うと、正確な時刻が送信されます。 .
a を文字列と比較DateTime
できないため、「今日」を文字列としてフォーマットすることさえできません。
ここでインスタンス化する CombinedReport モデルは、特定のページの単なるビュー モデルであり、データベースに直接マップしません ("ContactEmails" はマップします)。
強く型付けされたビューとモデルを維持できるようにする最善の方法は何ですか?