0

アプリケーションを作成していて、GUIDを試して使用したいと思いました。私は最初にEntityFrameworkコードとLINQを使用しているので、最も簡単な方法は

string guid = Guid.NewGuid().ToString();
var acc = new v_Account();   
acc.v_AcctGuid = guid;

次に、GUIDをタイプ文字列としてデータベースに保存します。これは悪い習慣ですか?GUIDは本当に、グローバルに一意のランダムに生成された文字列である可能性がありますか?

私はそれがうまくいくと確信していますが、これを行うことで問題に直面したり、脆弱性を作成したりしたくはありません。

4

2 に答える 2

6

GUIDは、タイプとしてMSSQLデータベースに直接マップされますuniqueidentifier。したがって、それを文字列化する必要はありません。

直接使用してください:

acc.v_AcctGuid = Guid.NewGuid();

仮定:

public class Account
{
    public Guid v_AcctGuid { get; set; }
}
于 2013-03-27T13:07:47.110 に答える
1

ターゲットとするデータベースがGUIDをサポートしていない場合(SQLiteたとえば)、文字列として保存し、GUIDとしてビジネスレイヤーに公開して、GUIDをマスクするタイプGUIDのプロパティのゲッターとセッターで必要な変換を行います。エンティティの文字列プロパティ。

于 2013-03-27T13:08:29.603 に答える