2

最初にEFコードでSQLサーバー列の「デフォルト値またはバインディング」OnModelCreating(またはプロパティ属性として)を設定する必要があります。その理由は、自動生成された ID の代わりに SQL 2012 シーケンスを使用したいからです。

SQL 2012 でシーケンスを使用するには、これを達成する必要があります。

SQL 2012 シーケンス

エンティティ フレームワーク 4.3 コードを最初に使用してこれを行うにはどうすればよいですか?

4

2 に答える 2

2

これはエンティティ フレームワーク CodeFirst ではまだサポートされていないため、既定値は XML マッピング (EDMX) を使用してのみ設定できます。

ここで新機能に投票できます: http://data.uservoice.com/forums/72025-ado-net-entity-framework-ef-feature-suggestions/suggestions/2541076-allow-using-sql-server-2012-生成用シーケンス

私の知る限り、FluentAPI を使用するとDatabaseGeneratedOption http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.database generatedoption(v=vs.103).aspx を使用できます

protected override void OnModelCreating(DbModelBuilder modelBuilder)  
{
   modelBuilder.Entity<YourEntity>().Property(p => p.YourColumn)  
          .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity) //None,Identity,Computed

}
于 2012-03-04T13:02:34.510 に答える