Asp.net
OnModelCreating 在實體框架 7 中未定義
我正在嘗試在 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); }我的進口:
using Microsoft.Data.Entity; using Domain.Models;我的項目.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 中有另一種設置模型關係的方法?
應該是這樣的:
protected override void OnModelCreating(ModelBuilder modelBuilder) { .... }我猜 DbModelBuilder 被重命名為 ModelBuilder
嗯…我有很多問題,所以我創建了新的 ASP.NET 5 MVC 項目,在那裡複製我的舊模型、控制器、viewa 等,一切都很好。(我認為,這是一個奇怪的魔法)
在這裡,覆蓋的方法,一切都好
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { base.OnConfiguring(optionsBuilder); } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); }我的用法與問題相同。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": { } } }