Ich benutze Entity Framework 6.1.3
Code zuerst zu einer vorhandenen Datenbank zuordnen. Ich habe viele Fragen über diesen Fehler gegoogelt, jedoch alle Fehler, die mit der Vererbung zusammenhängen, aber ich habe die Vererbung nicht benutzt. Ich habe versucht, meine Datenbank zu löschen und alle Tabellen neu zu erstellen, aber der Fehler ist nicht verschwunden.Ungültiger Spaltenname 'Schedule_IdSchedule'. Keine Vererbung und es gibt keine solche Spalte in DB. One-to-Many
Ich habe wirklich einfache Datenbank nur mit zwei Tabellen - Schedules
und Seances
:
CREATE TABLE [dbo].[Schedules] (
[IdSchedule] INT IDENTITY (1, 1) NOT NULL,
[Cinema] VARCHAR (50) NULL,
[Movie] VARCHAR (50) NULL,
[DateSchedule] DATETIME NULL,
[IdSeance] INT NOT NULL,
PRIMARY KEY CLUSTERED ([IdSchedule] ASC)
);
und:
CREATE TABLE [dbo].[Seances] (
[IdSeance] INT IDENTITY (1, 1) NOT NULL,
[DateSeance] DATETIME NOT NULL,
PRIMARY KEY CLUSTERED ([IdSeance] ASC)
);
und Modellklassen:
public class Schedule
{
[Key]
public int IdSchedule { get; set; }
public string Cinema { get; set; }
public string Movie { get; set; }
public DateTime DateSchedule { get; set; }
public List<Seance> Seances { get; set; }
}
public class Seance
{
[Key]
public int IdSeance { get; set; }
public DateTime DateSeance { get; set; }
}
und EFDBContext Klasse:
public class EFDbContext : DbContext
{
public EFDbContext()
{
Database.SetInitializer<EFDbContext>(null);
}
public DbSet<Schedule> Schedules { get; set; }
public DbSet<Seance> Seances { get; set; }
}
Allerdings, wenn ich versuche, diese Zeilen von Code auszuführen:
var e1= EFDbContext.Schedules.ToList();//it works okay
var e2 = EFDbContext.Seances.ToList();// An exception occurs
In der zweiten Reihe eine Ausnahme auftritt: "Ungültiger Spaltenname 'Schedule_IdSchedule'"
}-System .Exception {System.Data.SqlClient.SqlException}
Die interessanteste Sache, die ich Spaltenname nichthaben. Wohin nimmt Entity Framework diese Spalte? Wie kann ich es lösen?
Was bedeutet '{Seances = new List(); } 'bedeuten in' Schedule' Klasse? Mein Kompilator weiß nichts über diese Konstruktion. –
StepUp
Sorry, fehlender Konstruktor Teil. Bearbeitet. –
Danke, ich habe Ihren Code ausprobiert, jedoch habe ich eine weitere Ausnahme: ** "Ungültiger Spaltenname" IdSchedule '**. Vielleicht haben Sie noch andere Voraussetzungen? – StepUp