Gå til innhold

C#: Legge til standard funksjonalitet på en TableAdapter


Anbefalte innlegg

Jeg har en database med en dullion tabeller av forskjellig art, men en ting har de til felles - de har alle en GUID av CHAR(36) som skal genereres av en metode jeg har laget. Det er viktig at ALLE tabeller får en slik GUID av hensyn til relasjoner, rettigheter etc.

 

I følge hjelpen så kan jeg enten inserte records via TableAdapter.Update metoden, eller jeg kan bruke TableAdapter.Insert metoden.

For meg blir det naturlig å bruke Update metoden da jeg da kan opprette en DataRow og adde den inn i ROWS collectionen, for så å kjøre UPDATE senere.

Det jeg trenger er rett og slett en mulighet til å påvirke konstruktøren til dette Datarow objektet slik at GUID blir produsert på NEW.

Er dette mulig? Eller må jeg rett og slett lage min egen FileManager klasse?

Lenke til kommentar
Videoannonse
Annonse
Vil ikke dette skje automatisk om du bruker GUID istedenfor char, og default value i databasen / "AutoGenerate" i tableadapteren?

Jo, men jeg skal ikke bruke "Microsoft" GUID'er. Våre GUIDer er generert på bakgrunn av spesielle data og er sporbare tilbake til hvem som produserte og når. Jeg har prøvd å lagre mine egne GUIDer som UniqueIdentifier og det fungerer helt greit, men tør ikke gjøre det slik fordi en .NET guid er sammensatt av annen type informasjon som antagligvis blir brukt av andre deler av SQL serveren. Gjetter litt her, men fikk problemer i andre programmer som skulle lese tabellene og sluttet derfor at en UniqueIdentifier måtte følge spesielle spilleregler. Dessuten har jeg hørt folk si at den ikek er garantert å være unik. På en annen NEWS kanal jeg er mye på hadde en gjort et eksempel på nettop dette. Han hadde produsert 100000 GUIDer i en collection og fikk faktisk dubletter av en eller annen grunn. Mine GUIDer er 100% unike uansett hvem eller hvor i verden personen sitter. Gjerne på mars. Dette kommer av at jeg ikek benytter random til å generere noe som helst, og overlater dermed ingenting til tilfeldighetene ;-)

 

 

Automatikken jeg etterlyser er nettop det å kalle opp min metode som produserer en GUID på ALLE Insert metodene på ALLE tabellene i databasen. Jeg kan selvsagt endre på den genererte koden i TableAdapteret, men tipper den forsvinner nestegang jeg oppdaterer Datasettet.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...