OnModelCreating在Entity Framework 7中未定义

Ale*_*kov 13 asp.net entity-framework entity-framework-core asp.net-core

我试图在EF7中设置模型的关系,但我遇到了问题:OnModelCreating方法并且DbModelBuilder未定义.

过去,我使用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);
}
Run Code Online (Sandbox Code Playgroud)

我的进口:

using Microsoft.Data.Entity;
using Domain.Models;
Run Code Online (Sandbox Code Playgroud)

我的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": {}
  }
}
Run Code Online (Sandbox Code Playgroud)

你能帮助我吗?也许我忘了一些NuGet包或者还有另一种在EF7中设置模型关系的方法?

Joe*_*tte 37

应该是这样的:

protected override void OnModelCreating(ModelBuilder modelBuilder)
 {
    ....
 }
Run Code Online (Sandbox Code Playgroud)

我想DbModelBuilder已重命名为ModelBuilder

  • 救了我的培根。 (2认同)