Data Entities : does not have a primary key defined

17/12/2009 - 10:17 von Andreas Altherr | Report spam
Guten Morgen

ich habe hier ein komisches Problem. Ich muss eine Datenbank ansprechen und
daten lesen und schreiben und hab mir ein Entitie Model erstellen lassen und
wollte Daten updaten. Hier der Code:

GAMS2Entities da = new GAMS2Entities();

foreach (var e in x.Descendants("Item"))
{
int engineID = Convert.ToInt32(e.Attribute("engineID").Value);
var d = da.t_engine.Where(t => t.ID == engineID).First();
d.name = e.Value;
d.countryId = countryID;
try
{
da.SaveChanges();


Console.WriteLine("Suchmaschine mit der ID '{0}', wurde aktualisiert.",
engineID.ToString());
}
catch (System.Exception ex)
{
Console.WriteLine("Fehler: " + ex.Message);
}
}

Ist ein bisschen gekürzt jedoch sind die wesentlichen dinge vorhanden.
Jedenfalls erhalte ich beim Ausführen folgende Meldung:
EntitySet 't_engine' kann nicht aktualisiert werden, denn es hat eine
DefiningQuery, und im <ModificationFunctionMapping>-Element ist kein
<UpdateFunction>-Element zur

Wobei ich ehrlich gesagt keine ahnung hab an was es liegen könnte. Den die
Tabelle hat einen Primary Key definiert auch in der Entitie Datei ist eine
vorhanden:

<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="GAMS2_ANDREASModel.Store" Alias="Self"
Provider="System.Data.SqlClient" ProviderManifestToken="2005"
xmlns:store="http://schemas.microsoft.com/ado/20...ator"
xmlns="http://schemas.microsoft.com/ado/20...">
<EntityContainer Name="GAMS2_ANDREASModelStoreContainer">
<EntitySet Name="t_engine"
EntityType="GAMS2_ANDREASModel.Store.t_engine" store:Type="Tables"
store:Schema="dbo" store:Name="t_engine">
<DefiningQuery>SELECT
[t_engine].[ID] AS [ID],
[t_engine].[name] AS [name],
[t_engine].[countryId] AS [countryId]
FROM [dbo].[t_engine] AS [t_engine]</DefiningQuery>
</EntitySet>
</EntityContainer>
<!--Errors Found During Generation:
warning 6002: The table/view 'GAMS2_ANDREAS.dbo.t_engine' does not
have a primary key defined. The key has been inferred and the definition was
created as a read-only table/view.
<EntityType Name="t_engine">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="int" Nullable="false" />
<Property Name="name" Type="varchar" MaxLength="50" />
<Property Name="countryId" Type="int" />
</EntityType>
</Schema>

Hat jemand eine Ahnung an was es liegen könnte?

Gruss Andreas
 

Lesen sie die antworten

#1 Peter Fleischer
17/12/2009 - 22:08 | Warnen spam
"Andreas Altherr" schrieb im Newsbeitrag
news:
...
Wobei ich ehrlich gesagt keine ahnung hab an was es liegen könnte. Den die
Tabelle hat einen Primary Key definiert auch in der Entitie Datei ist eine
vorhanden:

...
<!--Errors Found During Generation:
warning 6002: The table/view 'GAMS2_ANDREAS.dbo.t_engine' does not
have a primary key defined. The key has been inferred and the definition
was created as a read-only table/view.
...
Hat jemand eine Ahnung an was es liegen könnte?



Hi Andreas,
hier solltest du anfangen zu suchen. Das System ist der Meinung, dass kein
PK vorhanden ist. Vermutlich betrachtest du unterschiedliche Tabellen.

Viele Gruesse

Peter

Ähnliche fragen