私はPKとしてGUIDも使用しています。私のPKのデフォルト設定では、私は亜音速ソースを通過してきたと私は、これはshizが、私はかなり知らない...という事実に関係していることを考え始めています...
(CONVERT([uniqueidentifier],CONVERT([binary](6),getdate(),(0))+CONVERT([binary](10),newid(),(0)),(0)))
です。
私は、SubsonicがNOT NULL、PK、デフォルト設定の列にREAD ONLYを表示していないことを知っています。
だから、あなたはStructs.ttファイルに数行を追加することができ、あなたが溶液中で、他のPKのデータ型を持っていないと仮定すると...
ライン30上のforeachループを探す...
<# foreach(var col in tbl.Columns){#>
Columns.Add(new DatabaseColumn("<#=col.Name#>", this)
{
IsPrimaryKey = <#=col.IsPK.ToString().ToLower()#>,
DataType = DbType.<#=col.DbType.ToString()#>,
IsNullable = <#=col.IsNullable.ToString().ToLower()#>,
AutoIncrement = <#=col.AutoIncrement.ToString().ToLower()#>,
IsForeignKey = <#=col.IsForeignKey.ToString().ToLower()#>
<# if (col.IsPK.ToString().ToLower() == "true"){ #>
, IsReadOnly = <#=col.IsPK.ToString().ToLower()#>
<# } #>
});
追加するセクションは、IsForeignKeyの直後のIFステートメントです。
これは、あなたがデフォルト設定で何かを持っている限り、あなたのPKガイドのために働くはずです。
私はDB内にある可能性のある他のPKの保証はできません。あなたはwarn'dされてきました。
gotcha、私の前提は、私が私のPKのためにintを使用して、私が使用するときに戻って取得すると、同じことが起こるでしょうguid – Slee