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();
}
}