HDSoftware Skrevet 11. mai 2010 Del Skrevet 11. mai 2010 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
Wattengård Skrevet 12. mai 2010 Del Skrevet 12. mai 2010 Kan denne hjelpe? http://blogs.msdn.com/dinesh.kulkarni/archive/2008/05/23/linq-to-sql-tips-6-how-to-refresh-given-datacontext-won-t-stomp-on-your-objects.aspx -C- Lenke til kommentar
HDSoftware Skrevet 12. mai 2010 Forfatter Del Skrevet 12. mai 2010 tja, jeg har vel prøvd den, men kansje jeg gjorde noe feil der. Sjekker en gang til med Refresh() Takker for tipset.. Lenke til kommentar
Wattengård Skrevet 12. mai 2010 Del Skrevet 12. mai 2010 Jeg tror ikke det er Refresh() som er trikset iflg den der. Jeg leser det slik at for å få med nye "rader" i tabellen må du kjøre queryen på nytt med samme context. Refresh() oppdaterer bare det som er der fra før... -C- Lenke til kommentar
HDSoftware Skrevet 26. mai 2010 Forfatter Del Skrevet 26. mai 2010 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå