UPDATE: Unerwarteter Dateneingabe oder beschädigte Daten kann auftreten, wenn eine Anwendung Visual Studio 2010 SP1 ADO.NET Daten im StoreGeneratedPattern-Attribut ändern


Problembeschreibung


Problem 1

Betrachten Sie das folgende Szenario:
  • Hinzufügen ein ADO.NET Entity Data Model, das aus einer Datenbank in Microsoft Visual Studio 2010 Service Pack 1 (SP1) Projekt generiert wird.
  • Sie verwenden Entity Designer StoreGeneratedPattern -Attribut für eine Entität Schlüssel berechnetund Identität zu ändern.
  • Sie versuchen, Daten über die Anwendung ändern.

In diesem Szenario möglicherweise eine unerwartete Dateneingabe oder beschädigte Daten in der entsprechenden Spalte in der Datenbank auftreten.

Hinweis Wenn dieses Problem auftritt, konzeptionellen Schema Definition Language (CSDL) Abschnitt der EDMX-Datei enthält den neuen Wert für das Attribut und die Language (SSDL) Bereich enthält den alten Wert.

Problem 2

Betrachten Sie das folgende Szenario:
  • Sie haben ein Projekt ADO.NET in Visual Studio 2010 SP1.
  • StoreGeneratedPattern -Attribut in der SSDL-Abschnitt einer EDMX-Datei für das Projekt unterscheidet sich von der StoreGeneratedPattern -Attribut in CSDL-Abschnitt.
  • Manuell bearbeiten Sie das Attribut in der SSDL-Abschnitt-Attribut in CSDL-Abschnitt entsprechen.
  • Sie auszuführen, Modell aus der Datenbank aktualisieren .
  • Sie versuchen, Daten über die Anwendung ändern.
In diesem Szenario möglicherweise eine unerwartete Dateneingabe oder beschädigte Daten in der betreffenden Spalte der Datenbank auftreten.

Hinweis Modell aus der Datenbank aktualisieren -Vorgang ausgeführt wird, wird der Wert des Attributs StoreGeneratedPattern in SSDL überschrieben.

Ursache


Diese Probleme auftreten, weil das StoreGeneratedPattern -Attribut im Abschnitt Store Schema Definition Language (SSDL) nicht aktualisiert werden.

Wenn das StoreGeneratedPattern -Attribut im konzeptionellen Schema Definition Language (CSDL) Abschnitt der EDMX-Datei festgelegt ist, wird das Attribut nicht im Abschnitt Store Schema Definition Language (SSDL) aktualisiert. Daher auftreten im Abschnitt "Symptome" beschriebenen Probleme.

Problemlösung


Nach der Installation dieses Hotfixes aktualisiert Entity Designer ordnungsgemäß StoreGeneratedPattern -Attribut für eine Entität Schlüssel in der CSDL und SSDL EDMX-Datei.

Hinweis Standardmäßig wird StoreGeneratedPattern -Attribut aus dem CSDL-Abschnitt SSDL-Abschnitt in den folgenden Situationen nicht kopiert:
  • -Eigenschaft der SSDL stellt den Speicher für eine Schlüsselspalte einer Tabelle pro Typ Vererbungshierarchie, die ein nicht-Root-Entitätstyp.
  • Die Eigenschaft SSDL repräsentiert eine Schlüsselspalte für das abhängige Ende einer Zuordnung.

Hotfix-Informationen

Ein unterstützter Hotfix ist inzwischen von Microsoft erhältlich. Es soll jedoch nur das Problem beheben, das in diesem Artikel beschrieben ist. Wenden Sie es nur auf Systeme an, bei denen dieses spezielle Problem auftritt.

Um dieses Problem zu beheben, wenden Sie sich an Microsoft Support Services, um den Hotfix zu erhalten. Eine vollständige Liste der Telefonnummern des Microsoft Product Support Services und Informationen zu den Supportkosten finden Sie auf folgender Microsoft-Website:Hinweis In bestimmten Fällen können Gebühren, die normalerweise für Support-Anrufe anfallen abgebrochen werden, wenn ein Microsoft-Supportmitarbeiter feststellt, dass ein bestimmtes Update Ihr Problem behebt. Die normalen Supportkosten gilt für zusätzliche Supportfragen und Probleme, die nicht für das betreffende Update qualifizieren.

Voraussetzungen

Um diesen Hotfix anwenden zu können, müssen Sie Visual Studio 2010 SP1 installiert.

Neustartanforderung

Sie müssen keinen Neustart des Computers nach der Installation dieses Hotfixes durchführen.

Wir empfehlen, dass Sie alle Instanzen von Visual Studio schließen, bevor Sie diesen Hotfix installieren.

Dateiinformationen

Die internationale Version dieses Hotfixes weist Dateiattribute (oder neuere Dateiattribute) auf, die in der folgenden Tabelle aufgelistet sind. Die Datums- und Uhrzeitangaben für diese Dateien sind in Coordinated Universal Time (UTC) aufgelistet. Wenn Sie die Dateiinformationen anzeigen, werden sie in die lokale Zeit konvertiert. Um die Differenz zwischen UTC und der Ortszeit zu finden, verwenden Sie die Registerkarte Zeitzone unter Datum und Uhrzeit in der Systemsteuerung.

DateinameDateiversionDateigrößeDatumZeitPlattform
Microsoft.data.entity.design.dll10.0.40219.3351,832,82419-Jul-201108:25x86


Status


Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.