質問: このドキュメントとこれによれば、次のように`ExecuteSqlCommandAsync`補間された文字列を渡すことができます。 ``` public async Task DeleteEntries(DateTimeOffset loggedOn) { await myContext.Database.ExecuteSqlCommandAsync( $"DELETE from log_entry WHERE logged_on < '{loggedOn}';" ); } ``` しかし、それは私に次のエラーを与えます: `Npgsql.PostgresException: '22007: invalid input syntax for type timestamp with time zone: "@p0"'` 1. `loggedOn`は有効な日付です。 2. 補間された文字列を一時変数に抽出すると修正されますが、SQLインジェクション攻撃の入力検証は失われています。 何か間違っているのですか、これはEFCoreのバグですか?最新のEFCore 2.1の使用
回答: @IvanStoevによって提供されたように、答えは補間されたパラメータの周りの単一引用符を削除することでした。