Gå til innhold

Anbefalte innlegg

Folkens..

Har en pussig greie her. Jeg har to tilkoblinger til en SQL database, alstå to connections. Dette for at en prosedyre skal kunne kjøre SUBMITCHANGES uten at en annen prosedyre trenger å bekymre seg om det. Greit nok...

 

Problemet er at den andre connection ikke er klar over at det er gjort endringer. Det hjelper ikke at den andre connectionen refresher heller. Får ikke nye poster. Men hvis jeg sletter poster så vil dette komme frem.

 

Eksempel: (veldig prototypet og dratt sammen for eksemplet)

DataConnectionContext D1 = GetConnection();  // GetConnection er bare en hjelper...
DataConnectionContext D2 = GetConnection();

var kunder = from k in D2.Kunder
            select k;
dgvKundeLisste.DataSource = kunder;

Kunder nyKunde = new Kunder();
// Setter nyKunde properties
D1.Kunder.InsertOnSubmit(nyKunde);
D1.SubmitChanges();

var kunder = from k in D2.Kunder
            select k;
dgvKundeListe.DataSource = kunder;

Problemet er nå at listen ikke blir oppdatert fordi D1 og D2 ikke kjenner til hverandre og D2 får ikke noe beskjed om at noe er endret, og leser derfor kunn inn det som er kjent fra før.

 

Hvis jeg kaller Refresh på D2 så kan jeg oppfriske, men det virker som at kunn ekesisterende poster blir oppfrisket. Ingen nye poster legges til. Hva gjør jeg galt her? Er det noe jeg kan kalle i D2 for å fremtvinge nye poster?

 

Hvis jeg terminerer programmet og starter opp igjen så er alt ok, intill en ny post dukker opp så klart.

 

Alle tips blir gledelig mottatt...

Lenke til kommentar
Videoannonse
Annonse
  • 2 uker senere...

Tror jeg har funnet ut hva som er utfordringen. Jeg har ikke fått med meg at et LINQ objekt skal leve så kort som mulig. I den nevnte appen så er linq objektet opprettet under oppstart og hele appen bruker dette objektet hele tiden. Er nok derfor jeg får problemer.

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...