none
Next Value For (SQL 2012) im Entity Framework einsetzen RRS feed

  • Frage

  • Hallo,

    mein Problem ist, wenn ich beim Anlegen einer Entity (v4.0 unter VS 2012) den EntityKey auf StoredPattern = Identity setze und VS die Datenbank generieren lasse, läuft alles wunderbar, -  bis ich eine Änderung im Modell durchführe und damit die DB-Tabellen gelöscht und neu aufgesetz werden. Nach einem Importieren der gesicherten Daten sind die PK-IDs oft nicht mehr konsistent.

    Daher dachte ich, verwende ich die SQL-Server Funktion "Next Value For 'meineSequenze'" und verwende sie für den PrimaryKey. Beim manuellen Anlegen der DB kann man das über den Default Wert machen (ALTER TABLE[dbo].[MyTable]ADD  DEFAULT (N'AdvWorks_'+CONVERT([nvarchar](20),NEXTVALUEFOR[CounterSeq],0))FORIDColumn]).

    Aber wie kann ich das im Entityframework mit VS Unterstützung realisieren ohne es jedesmal manuell für alle Tabellen nachtragenzu müssen?

    Oder wie kann ich die nächste Sequenz (ID) mit dot.net Code abfragen und im Code dem PK übergeben?

    Kennt jemand ein Beispiel dazu?

    Umgebung:

    SQL-Server 2012
    VS 2012; Entity FW V 4.0

    Vielen Dank schon mal!

    Harald



    • Bearbeitet hg4711 Mittwoch, 2. Januar 2013 20:41
    Mittwoch, 2. Januar 2013 12:14

Antworten

  • Danke!

    Die zweite Variante, über Code abfragen. Wie kann man die Sequenz abfragen - mit Select in TSQL?

    Harald

    • Als Antwort markiert hg4711 Mittwoch, 2. Januar 2013 20:51
    Mittwoch, 2. Januar 2013 20:45

Alle Antworten