Datensätze auf Duplikate prüfen (Linq)


julia23

Mitglied
Hallo

Ich habe folgendes Problem.

Ich würde gerne abprüfen, ob mein Datensatz den ich per insert erstellen will

bereits existiert.(Visual Studio 2013, SQL Server 2008) Es könnte ja passieren, das mein Insert aus irgendeinem Fehler nicht ganz gelesen wird. Ausserdem rechne ich in meinem Code immer einen Tag zurück mithilfe einer Schleife.

Etwa so:
C#:
for (int j = -1; j < 5; j--)

  {

  dateTime = dateTime.AddDays(-1);

....
}

Und so müssen auch nur die Tage geprüft werden, die ich

noch nicht habe.


Meine Idee war das schon in der Entitätsklasse zu regeln.

Eigentlich will ich 3 Spalten miteinander vergleichen. Wenn die

Gleich sind, gibt es dublikate in meiner Datenbank.

Also so sieht die DB_Tabelle aus:

ID ProduktID Datum Zeitraum weitereSpalten…


Da es „group by ProduktID“ ist, darf es also keine zwei Zeilen

geben, in denen ProduktID Datum Zeitraum gleich sind.


Kann mir jemand von euch einen Anstoß oder guten Link empfehlen?
 

rrobbyy

Mitglied
Ich würde ja das Datenbank-Design überprüfen. Wenn das die wichtigen Spalten sind, musst du einen Index auf die Spalten legen (oder nach einen gruppierten Index).
Wenn du dann einen Insert versuchst, kannst du die entsprechende Fehlermeldung abfangen.

Zudem:
Es könnte ja passieren, das mein Insert aus irgendeinem Fehler nicht ganz gelesen wird.
ähm...wie kann dein Insert nicht gelesen werden? Ein Insert wird nicht gelesen, sondern zum SQL-Server geschickt. der gibt dir dann das Result ok oder nicht ok zurück (vereinfacht ausgedrückt)

Warum machst du nicht vorher ein select, was die Daten prüft, ob die schon vorhanden sind? Kommt ein leeres Dataset zurück, kannst du ja den Insert absetzen