Entity Framework 5 Ungültiger Spaltenname Fehler
Schreibe ich momentan eine Abrechnung Anwendung mit EF-5-Code-First, und ich bin in einen Fehler, wenn ich die Anwendung ausgeführt wird.
Den Datenbank-Objekt in Frage ist wie folgt:
[Table("Client")]
public class ClientBase
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ClientID { get; set; }
[Required]
public string ClientName { get; set; }
[Required]
public bool IsActive { get; set; }
[Required]
public string ClientContactName { get; set; }
[Required]
public string ClientContactEmail { get; set; }
[Required]
public DateTime ClientStartDate { get; set; }
[Required]
public string SalesforceID { get; set; }
public DateTime TerminatedDate { get; set; }
public string ClientStreet { get; set; }
public string ClientCity { get; set; }
public string ClientState { get; set; }
public int? ClientZipCode { get; set; }
public virtual List<PropertyBase> Properties { get; set; }
public virtual List<ClientCharge> ClientDefaultCharges { get; set; }
}
Vor kurzem habe ich ein paar dieser Felder (Von ClientStartDate nach unten zu ClientZipCode sind alle neu), und immer wenn ich die Anwendung ausführen, bekomme ich folgende Fehlermeldung:
{"Invalid column name 'ClientStartDate'.\r\nInvalid column name 'SalesforceID'.\r\nInvalid column name 'TerminatedDate'.\r\nInvalid column name 'ClientStreet'.\r\nInvalid column name 'ClientCity'.\r\nInvalid column name 'ClientState'.\r\nInvalid column name 'ClientZipCode'."}
Was mich wundert, ist jedoch, dass meine Datenbank hat eigentlich entsprechend aktualisiert. Diese Felder sind jetzt auf dem Tisch, aber das ist noch gibt mir eine Fehlermeldung.
Irgendwelche Ideen, was falsch läuft hier?
EDIT: Ok, es war offenbar eine Sache, die ich vergaß zu erwähnen: SalesforceID ist NICHT ein Fremdschlüssel. Keine der Spalten, die Hinzugefügt wurden, waren eigentlich FKs. Sie sind einfach nur Felder.
Ich habe, eigentlich. Vielen Dank für erinnerte mich daran, die post zu aktualisieren.
Ich brauche die Antwort!! @IronMan84
Siehe Antwort markiert.
InformationsquelleAutor IronMan84 | 2012-05-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kurz gesagt, sollte Ihr [Erforderlich] DateTime-Felder Nullable (DateTime?). Wenn Sie weitere Informationen über den stacktrace und Initialisierung code wäre hilfreich.
InformationsquelleAutor kingdango
In meinem Fall ist dieser Fehler passiert, weil ich war die Aktualisierung meiner EDMX gegen mein Test-Datenbank und mit meinen code gegen die Produktion-Datenbank.
InformationsquelleAutor CLRBTH
Mein Verdacht ist, dass SalesforceID das problem verursacht. Versuchen Sie, alle neuen Spalten und fügen Sie diese wieder ein zu einer Zeit, die überprüfung für Fehler, wie Sie gehen. Wenn das problem ist in der Tat mit SalesforceID, diese kann Sie lösen.
Hmm... Hier sind einige andere Dinge zu sehen. Ist das problem beschränkt auf diese Klasse nur? Klassen mit Daten-Anmerkungen ändern der name der Tabelle? Können Sie erstellen, die eine identische Klasse, aber den Namen ändern und sehen, ob Sie weiterhin die Fehlermeldung erhalten? Verwenden Sie eine nicht-beta-version der EF?
Ich habe noch andere Klassen mit dem gleichen Anmerkungen, die Arbeit. Und ich wechselte zurück zu EF 4.3. Immer noch nichts.
Nicht sicher, was Sie sollten versuchen. Hoffentlich jemand anderes beantworten.
InformationsquelleAutor Jon Crowell