5

私の単純なクラスでは、データ注釈を使用してプロパティを列にマップしています。

[Table("Member")]
public class Member
{
    [Key]
    public Guid MemberId { get; set; }

    // More properties go here
}

既に新しいメンバーをテーブルに書き込むことができますが、MemberId は常に、美しいサーバー生成 Guid ではなく、新しい Guid (0000-000-00...) にデフォルト設定されます。

EDMX ファイルで StoreGeneratedPattern と呼ばれる設定を変更するシナリオを見てきました。しかし、私は明らかにCode Firstを使用しているので、このEDMXファイルはありません...

では、これを解決するにはどうすればよいでしょうか。

どんな助けでも大歓迎です。

アップデート!!

わかりました、自分で答えを見つけました。注釈を使用できます。

[Table("Member")]
public class Member
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public Guid MemberId { get; set; }

    // More properties go here
}
4

2 に答える 2

6

注釈を使用します。

[Table("Member")]
public class Member
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public Guid MemberId { get; set; }

    // More properties go here
}
于 2012-06-26T10:44:40.123 に答える
3

int 型のキーで使用する自動インクリメント機能を必要としない/使用できないため、クラス コンストラクターで Guid を初期化しています。

だから、私はに変更します...

[Table("Member")]
public class Member
{
    [Key]
    public Guid MemberId (get; set;}

    public Member
    {
      MemberId = Guid.NewGuid();
    }
}
于 2012-04-20T13:21:09.510 に答える