9

EF7でモデルの関係を設定しようとしていますが、問題に直面しました。OnModelCreatingメソッドとDbModelBuilderは未定義です。Entity Framework 7でOnModelCreatingが未定義です

過去にはEF6を使用しましたが、今ではEF7に移行しようとしています。ここで

は私のコード

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
     //Section -> many Category 
     modelBuilder.Entity<Section>() 
      .HasMany<Category>(p => p.Categories) 
      .WithRequired(p => p.Section); 

     //Section -> many PriceCategory 
     modelBuilder.Entity<Section>() 
      .HasMany<PriceCategory>(p => p.PriceCategories) 
      .WithRequired(p => p.Section); 

     //Category - many Procedures 
     modelBuilder.Entity<Category>() 
      .HasMany<Procedure>(p => p.Procedures) 
      .WithRequired(p => p.Category); 

      //PriceCategory - many PriceProcedures 
      modelBuilder.Entity<PriceCategory>() 
      .HasMany<PriceProcedure>(p => p.PriceProcedures) 
      .WithRequired(p => p.PriceCategory); 
} 

私の輸入です:

using Microsoft.Data.Entity; 
using Domain.Models; 

マイproject.json:

{ 
    "version": "1.0.0-*", 
    "description": "Domain Class Library", 
    "authors": [ "Garrus" ], 
    "tags": [ "" ], 
    "projectUrl": "", 
    "licenseUrl": "", 

    "dependencies": { 
     "EntityFramework.Commands": "7.0.0-rc1-final", 
     "EntityFramework.Core": "7.0.0-rc1-final", 
     "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final", 
     "Microsoft.CSharp": "4.0.1-beta-23516", 
     "System.Collections": "4.0.11-beta-23516", 
     "System.Linq": "4.0.1-beta-23516", 
     "System.Runtime": "4.0.21-beta-23516", 
     "System.Threading": "4.0.11-beta-23516" 
    }, 

    "frameworks": { 
    "net451": { }, 
    "dnxcore50": {} 
    } 
} 

は、あなたが私を助けることができますか?たぶん私はいくつかのNuGetパッケージを忘れてしまったのでしょうか、EF7でモデル関係を設定する別の方法がありますか?

+0

これまでの** OnConfiguring **メソッドも未定義です。 –

答えて

27

は、このようにする必要があります:

protected override void OnModelCreating(ModelBuilder modelBuilder) 
{ 
    .... 
} 

私はDbModelBuilderはまあ...私はprobllemsをたくさん持っているModelBuilderの

+0

私のベーコンを保存しました。 – radpin

1

に改名されたと思いますので、私は新しいASP.NET 5 MVCプロジェクトを作成します、そこに私の古いモデル、コントローラ、ビューアなどをコピーして、それはすべてOKです。 (私が思うに、この奇妙な魔法

ここでオーバーライドメソッドは、すべてが

 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) 
     { 
      base.OnConfiguring(optionsBuilder); 
     } 

     protected override void OnModelCreating(ModelBuilder modelBuilder) 
     { 
      base.OnModelCreating(modelBuilder); 
     } 

マイusings OKであることを問題と同じです。 Domainのproject.jsonは多分同じエラーに直面している人にとっては役に立ちます。

{ 
    "version": "1.0.0-*", 
    "description": "Domain Class Library", 
    "authors": [ "Garrus" ], 
    "tags": [ "" ], 
    "projectUrl": "", 
    "licenseUrl": "", 

    "dependencies": { 
     "Microsoft.CSharp": "4.0.1-beta-23516", 
     "System.Collections": "4.0.11-beta-23516", 
     "System.Linq": "4.0.1-beta-23516", 
     "System.Runtime": "4.0.21-beta-23516", 
     "System.Threading": "4.0.11-beta-23516", 
     "EntityFramework.Core": "7.0.0-rc1-final", 
     "EntityFramework.Commands": "7.0.0-rc1-final", 
     "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final" 
    }, 

    "frameworks": { 
    "net451": { }, 
    "dnxcore50": { } 
    } 
} 
関連する問題