
vs2022 mvc NET6.0環境で検索機能を追加しています。
そこで検索対象を日付にしたく、modelからPublic Datetimeのものを引っ張ってこようとしたがエラーが出てしまいました。
エラー CS1929 「'DateTime' に 'Contains' の定義が含まれておらず、最も適している拡張メソッド オーバーロード 'MemoryExtensions.Contains<string>(ReadOnlySpan<string>, string)' には 'ReadOnlySpan<string>' 型のレシーバーが必要です」
公式で何故エラーになるのかは分かったのですが、解決方法がいまいちよくわからず困っています。よろしければご教示ください。
Controller public async Task<IActionResult> Index(string searchNotice) { var mnotice = from m in _context.MNotices select m; if (!String.IsNullOrEmpty(searchNotice)) { mnotice = mnotice.Where(s => s.StartDate.Contains(searchNotice));←StartDateがエラー } return View(await mnotice.ToListAsync()); }
model public DateTime StartDate { get; set; }

Visual Studio 2022 を使っているなら Visual Studio Code のタグは不適切なので外してください。
.NET Framework / Core どっちかと、そのバージョンを書こう。
前のスレッドのように「質問への追記・修正の依頼」を無視するなら今後はこちらもあなたを無視します。
大変失礼いたしました。
不適切な部分を修正致しました

searchNotice に例えば "2022/05/13" というような単一の日付の文字列が渡され、データベースの MNotices テーブルから StartDate 列がその日付と一致するレコードを抽出したいのですか?
Contains を使っているところが気になるのですが、ひょっとして searchNotice には複数の日付が渡され、SQL 文で言うと WHERE StartDate IN (日付1, 日付2,...) というような条件で抽出したいのですか?
はい、一致検索したいと考えています。
完全一致でなくとも、2022年だけでの部分一致も可能にしたいです

上の質問者さんのコメントと私の回答が前後してしまいました。
要するに、searchNotice に例えば "2022/05/13" とか "2022" というような単一の日付の文字列が渡され、データベースの MNotices テーブルから StartDate 列がその文字列を含んでいるレコードを抽出したいということでいいのですか?

回答1件
あなたの回答
tips
プレビュー