Linq2SQL

05/08/2009 - 13:21 von Pawel Warmuth | Report spam
Hallo zusammen,

wie kann ich Eintràge in einer Tabelle OHNE Primary Key löschen ?
public void DelUser(Users User)
{
var ur = from p in portal.UserRights
where p.FK_USERID == User.ID
select p;

foreach (var u in ur)
{
portal.UserRights.DeleteOnSubmit(u);
}
}
Das funktioniert leider nicht
Jmd eine Idee ?

Grüße
Pawel
 

Lesen sie die antworten

#1 Frank Dzaebel
05/08/2009 - 20:14 | Warnen spam
Hallo Pawel,

wie kann ich Eintràge in einer Tabelle OHNE Primary Key löschen ?



Im Linq-Designer kannst Du Dir die gewünschten Tabelle
markieren und über Eigenschaften-Fenster die Spalten
markieren, die als Tupel (oder vielleicht schon eine einzelne
Spalte) zusammen einen eindeutigen Wert ergeben, über
die Primàschlüssel Eigenschaft.
In Deiner Original-Datenbank wird dadurch der
Primàrschlüssel bei den Spalten nicht gesetzt.
Dann geht auch:

public void DelUser(Users User)
{
var ur = from p in portal.UserRights
where p.FK_USERID == User.ID
select p;
portal.UserRights.DeleteAllOnSubmit(ur);
dc.SubmitChanges();
}

Aber man benötigt eben eine eindeutige
Vorschrift, die die Row anhand der Zeilenwerte
identifiziert, die zu löschen ist, wenn kein Primàrschlüssel
in der DB angegeben wurde.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen