Cross posted on MSDNDas Unternehmen Satz wird nicht in der Entitätscontainername definiert
Wir manuellen Code verwenden erster Entity Framework für System.Data.SQLite
Also, wenn eine neue Einheit zu schaffen, wir die Tabelle manuell erstellen, die C# Objekt, und fügen Sie das DbSet zu unserem Kontext hinzu.
Ich habe ein sehr einfaches Objekt erstellt, und ich bekomme diesen Fehler beim Versuch, den Kontext abzufragen. Ich habe die Spaltennamen und Datentypen mehrmals überprüft, aber ich sehe hier keinen Unterschied. Es sind auch keine Fremdschlüsselbeziehungen definiert, obwohl die Felder ID im Namen haben. Nur ein eigenständiger Tisch.
Der seltsamste Teil ist, dass ich eine neue Entität zum Kontext hinzufügen, Änderungen speichern kann, und es wird in der Datenbank beibehalten werden. Allerdings in der nächsten Zeile beim Versuch, die Entitäten abrufen, bekomme ich The entity set is not defined in the entity container
Fehler. Ich habe auch bemerkt, dass, wenn ich den Mauszeiger über einen instanziierten Kontext bewege, alle anderen db-Sätze den EF SQL wie SELECT EXTENT1.myCol as myCol
haben, aber der department_resources
Satz sagt nur {System.Data.Entity.DbSet<department_resource>}
.
Irgendwelche Ideen, was das Problem hier ist?
Im Folgenden sind Auszüge meiner Dateien:
DDL
CREATE TABLE department_resources (
dep_res_key VARCHAR PRIMARY KEY,
department_id INT NOT NULL,
resource_id INT NOT NULL);
department_resource.cs
[Table("department_resources")]
public class department_resource
{
[Key]
public string dep_res_key { get; set; }
public int department_id { get; set; }
public int resource_id { get; set; }
}
MyContext.cs
public class MyContext : DbContext
{
public DbSet<department_resource> department_resources { get; set; }
}
Probe Nutzungs
using (MyContext db = new MyContext())
{
db.department_resources.Add(new department_resource()
{ dep_res_key = "anID",
resource_id = 22,
department_id = 23 }); // Works
db.SaveChanges(); // Also works. Even persists to db
var foo = from r in db.department_resources
select r.resource_id; // Doesn't work. Will error as soon as I try to use foo. Like assigning to a combo box item source. Or even just enumerating the results
var bar = db.department_resources; // Also doesn't work.
}
Haben Sie die Datenbank eingesehen? Ist dies gespeichert? – Eldho
Ja, es ist in db gespeichert – wesmantooth
Könnten Sie bitte versuchen, indem Sie einen neuen db-Kontext 'using (MyContext db = new MyContext())' und versuchen, in diesem neuen Kontext zu holen – Eldho