Avatar billede speedpete Nybegynder
20. juli 2011 - 15:16 Der er 8 kommentarer og
1 løsning

Lnq-to-sql DataContext henter ikke relaterede data

Jeg har et DataContext, autogenereret via drag'n'drop fra en MS-SQL-server, og jeg kan ikke få hentet relaterede børn ud, når jeg selecter en forælder: Jeg har en en-til-mange relation, og min genererede forældreklasse har en autogenereret liste af børn, men den liste er bare tom, når jeg selecter en forælder (og jo, forælderen har børn i databasen).

Har nogen prøvet noget lignende?
Avatar billede arne_v Ekspert
20. juli 2011 - 23:52 #1
Var der defineret foreign keys i databasen?
Avatar billede janus_007 Nybegynder
21. juli 2011 - 01:14 #2
Du har måske en using omkring din datacontext? og returnerer en list?
Avatar billede speedpete Nybegynder
21. juli 2011 - 09:11 #3
Ja, der er foreign keys
Avatar billede speedpete Nybegynder
21. juli 2011 - 10:33 #4
Jeg har en using omkring min datacontext, men har prøvet at sætte EnableDeferredLoading=false;
Avatar billede janus_007 Nybegynder
21. juli 2011 - 18:28 #5
Hej Speedpete

Så skal du lave en DataLoadOption :). Hvis du bruger using omkring din context mister du kontakten til relationen efter du har modtaget data :)
Avatar billede speedpete Nybegynder
21. juli 2011 - 20:37 #6
Ok, jeg er nemlig ny i fht. Linq To Sql. Det drejer sig om en web-application, med datalag og ui-lag. Det går meget fint med enkelte objekter, men jeg synes det bliver lidt tricky, når man har med relationer at gøre. Jeg har et eksempel, jeg kigger efter, hvor man opdaterer tabellerne en ad gangen (først forælderen, og dernæst børnene), men man burde kunne gøre det på den smarte måde, ved blot at sætte en collection af børn på forælderen og så bare opdatere forælderen? Også selvom man har en webapplication, hvor man jo er nødt til at bruge et nyt datacontext for hver request? (Med mindre man gemmer en instans i noget request-specifik cache..?)

DataLoadOption er jeg stødt på i min google-ning, men jeg fandt ikke noget oplagt godt eksempel?
Avatar billede janus_007 Nybegynder
23. juli 2011 - 13:01 #7
Hej Speedpete

Ved opdatering af parentchild er det blot at referere.. alá

using(var context = new DataClassesContext())
{
context.tSomeTable.SomeProperty = ....
context.tSomeTable.tChildTable.SomePropertry = ....

context.SubmitChanges();
}
Avatar billede speedpete Nybegynder
23. juli 2011 - 15:00 #8
ok, det lyder som det, jeg prøvede... jeg må se at få læst op på det....
Avatar billede janus_007 Nybegynder
31. juli 2011 - 23:15 #9
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester