1

я занимаюсь разработкой базы данных с 3 таблицыMVC3 EF вопросы по множественным таблице

Trip Модель:

[Key] 
    public int TripId { get; set; } 

    [ForeignKey("Driver")] 
    public int DriverId { get; set; } 
    public virtual Driver Driver { get; set; } 

    public string StartingPoint { get; set; } 

    public string Destination { get; set; } 

    public DateTime TimeDepart { get; set; } 

    public int SeatAvailable { get; set; } 

    public virtual ICollection<Driver> Drivers { get; set; } 

    public virtual ICollection<Passenger> Passengers { get; set; } 

Driver модель:

[Key] 
    public int DriverId { get; set; } 

    public string DriverName { get; set; } 

    [ForeignKey("Trip"), Column(Order = 0)] 
    public int TripId { get; set; } 
    public virtual Trip Trip { get; set; } 

И последняя легковая модель:

[Key] 
    public int PassengerId { get; set; } 

    public string PassengerName { get; set; } 

    [ForeignKey("Trip"), Column(Order = 1)] 
    public int TripId { get; set; } 
    public virtual Trip Trip { get; set; } 

С:

public class LiveGreenContext: DbContext 
    { 
     public DbSet<Trip> Trips { get; set; } 
     public DbSet<Driver> Drivers { get; set; } 
     public DbSet<Passenger> Passengers { get; set; } 
     protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     modelBuilder.Conventions.Remove<IncludeMetadataConvention>(); 
    } 

И я получаю следующее сообщение об ошибке:

Model compatibility cannot be checked because the EdmMetadata type was not included in the model. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions.

Любые решения по этому вопросу? Благодаря!

+0

У вас есть инициализационная установка? – Eranga

ответ

0

Попробуйте добавить вызов метода Database.SetInitializer в обработчике Application_Start случае вашей Global.asax:

Database.SetInitializer<ContextName>(null); 

где ContextName это имя вашего пользовательского класса DbContext.

Смежные вопросы