Tags: , | Categories: Entity Framework Posted by Christoph on 2/18/2009 1:48 PM | Comments (0)

In einem Projekt benutze ich das Entity Framework, um eine Tabelle im SQL Server zu bearbeiten. Dazu habe ich auf der Seite eine Entity Data Source (mit EnableUpdate=”true”), die ein Gridview befüllt. Dieses Gridview  kann dann, da in der <Columns> ein <asp:CommandField…> mit ShowEditButton=True, die Daten bearbeiten.

Nun hatte ich den seltsamen Fehler, dass beim Abspeichern der bearbeiteten Daten folgender Fehler kam:

Serverfehler in der Anwendung /.

Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

Beschreibung: Unbehandelte Ausnahme beim Ausführen der aktuellen Webanforderung. Überprüfen Sie die Stapelüberwachung, um weitere Informationen über diesen Fehler anzuzeigen und festzustellen, wo der Fehler im Code verursacht wurde.
Ausnahmedetails: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
Quellfehler:

Beim Ausführen der aktuellen Webanforderung wurde einen unbehandelte Ausnahme generiert. Informationen über den Ursprung und die Position der Ausnahme können mit der Ausnahmestapelüberwachung angezeigt werden.

Stapelüberwachung:

[NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.] System.Web.UI.WebControls.EntityDataSourceView.ConvertWCProperty(IDictionary values, Dictionary`2 convertedValues, List`1 visitedProperties, PropertyDescriptor pd, ParameterCollection referenceParameters, Dictionary`2& exceptions) +51 System.Web.UI.WebControls.EntityDataSourceView.ConvertProperties(IDictionary values, PropertyDescriptorCollection propertyDescriptors, ParameterCollection referenceParameters) +293 System.Web.UI.WebControls.EntityDataSourceView.ExecuteUpdate(IDictionary keys, IDictionary values, IDictionary oldValues) +471 System.Web.UI.DataSourceView.Update(IDictionary keys, IDictionary values, IDictionary oldValues, DataSourceViewOperationCallback callback) +4049840 System.Web.UI.WebControls.GridView.HandleUpdate(GridViewRow row, Int32 rowIndex, Boolean causesValidation) +1350 System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +626 System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +70 System.Web.UI.WebControls.GridViewRow.OnBubbleEvent(Object source, EventArgs e) +110 System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +70 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +29 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2981


Versionsinformationen: Microsoft .NET Framework-Version:2.0.50727.3074; ASP.NET-Version:2.0.50727.3074

Nach einigen Testläufen hatte ich den (extrem ärgerlichen) Fehler gefunden:

Grundsätzlich ist das Entity Framework ja Case Insensitive, aber genau hier muss die Schreibweise der Felder im Gridview GENAU so sein, wie in der Datenbank=Datenmodell.

Comments

Add comment




  Country flag

biuquote
  • Comment
  • Preview
Loading