ためJSON_VALUEを使用して、私はJSON_VALUE
を使用して、私のテーブルからデータを照会する:C#DapperのSQL Serverの2016
var str = "123";
var value = "Name"
using(var conn = GetMyConnection())
{
var result = conn.QueryFirstOrDefault<string>(
@"SELECT [Id] FROM [dbo].[MyTable]
WHERE JSON_VALUE([JsonColumn], @MyQuery) = @Str",
new
{
MyQuery = $"$.{value}",
Str = str
}
);
}
私はそれが動作して、SQL Serverでこれを試してみてください。
SELECT [Id] FROM [dbo].[MyTable]
WHERE JSON_VALUE([JsonColumn], '$.Name') = '123'
どのように私がすべき私のコードを調整する?
私は、ストアドプロシージャを作成し、json文字列をパラメータとして与えてそこで処理することをお勧めします。 – Valkyrie
私のローカル環境でこのコードを試しました。それは正しく動作します。コードの問題は何ですか? –
@sarslan OPはリテラルとして渡すので、C#では変数として渡そうとしているので、これは動作しません。 SQL Serverでは、動的SQLを使用するか、C#コードでクエリ文字列を作成するしか方法はありません。 – lad2025