1

私のアプリケーション (データベース ファースト) では、主キーは、基になるデータベースではなく、常にクライアントによって作成されます。

Entity Framework v4 では、それぞれEntityEntityKey手動で設定できるプロパティがありました。

しかし、EF6ではもう見つかりませんか?

具体的な理由はありますか?

これはデータベースへの呼び出しを意味するためctx.SaveChanges()、キーを設定するためだけに呼び出したくありません。Entity's

私もなぜObjectContext.CreateEntityKeyなくなったのだろうか?

4

1 に答える 1

0

POCOを使用している場合-これがどのように行われるかのサンプルです

public class ChronosItem 
{
    [Column, Key, Required, MaxLength(26), DatabaseGenerated(DatabaseGeneratedOption.None)]
    public string Id { get;  set; }
    ....

エンティティを調整できない場合

コンテキストで「OnModelCreating」メソッドをオーバーライドします..そのように..

protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity<ChronosItem >()
                .HasKey(p => p.Id)
                .Property(p => p.Id)
                .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
于 2016-01-20T19:52:40.017 に答える