C# guid と SQL uniqueidentifier 質問する

C# guid と SQL uniqueidentifier 質問する

GUID を作成して DB に保存したいです。

C# では、Guid.NewGuid() を使用して GUID を作成できます。これにより、128 ビットの整数が作成されます。SQL Server には、巨大な 16 進数を保持する uniqueidentifier 列があります。

C# と SQL Server の GUID をうまく連携させる良い/推奨される方法はありますか? (つまり、Guid.New() を使用して GUID を作成し、nvarchar または他のフィールドを使用してそれをデータベースに格納する... または、他の手段で SQL Server が期待する形式の 16 進数を作成します)

ベストアンサー1

パラメータ化されたクエリを使用して GUID を挿入する方法を示すコード スニペットを次に示します。

    using(SqlConnection conn = new SqlConnection(connectionString))
    {
        conn.Open();
        using(SqlTransaction trans = conn.BeginTransaction())
        using (SqlCommand cmd = conn.CreateCommand())
        {
            cmd.Transaction = trans;
            cmd.CommandText = @"INSERT INTO [MYTABLE] ([GuidValue]) VALUE @guidValue;";
            cmd.Parameters.AddWithValue("@guidValue", Guid.NewGuid());
            cmd.ExecuteNonQuery();
            trans.Commit();
        }
    }

おすすめ記事