Avatar billede Sami420 Nybegynder
03. november 2011 - 13:10 Der er 7 kommentarer og
1 løsning

Data hent og gem fra databasen (via costum entitiess) asp.net 3.5

Godaften alle sammen,

Jeg Lærte for ca 2 år siden asp.net 2.0 i skolen. Jeg sidder nu og prøver sætte mig ind i asp.net 3.5 ved at programmere en webapplikation.

Jeg husker dengang jeg lærte asp.net fik vi fortalt at vi henter data fra databasen via objekter. De objekter var typisk entitier med get og set.

Når vi f.eks henter data fra databasen, bliver de hentet fra forkellige tabler. Så spørgsmålet er , de indhentet data i hvilken Enitity classe - objekt de skal gemmes i.

Vi tager en LILLE eksempel:

Vi har 3 tabeller:

1ruger(BRUGERID, Navn, alder, tlfnr,FK_VennerID)
2:Venner(VENNERID, navn, alder,Koen,FK_LokationID)
3:Lokation(LOKATIONID,Postnr, byNavn)

Nu laver vi sql, som lister en brugers venner op med navn alder og nynavn.
Alstå vores sql giver outputtet:

Bruger.Navn,Venner.navn,venner.alder,lokation.postnr,Lokation.bynavn

Hvordan skal man gemme se data i Enitity objekter ?


Entatiye for de 3 tabler, bliver sådan (Nytakst er ikek korrekt, men håber i forstå, hvad jeg mener!)

class Bruger( BRUGERID get; set;, Navn get; set;, alder get; set;, tlfnr get; set;,FK_VennerID get; set
class Venner(VENNERID get; set;, navn get; set;, alder get; set;,Koen get; set;,FK_LokationID get; set
Lokation(LOKATIONID et; set;,Postnr et; set;, byNavn et; set

Hvis man laver flere classer... så bliver prgrammet tung, for skal man join enneti og deres data i backend.

Jeg håber i kan FoRSTÅ hvad jeg sprøger om. Det er svært at forklare!
Avatar billede kalp Novice
03. november 2011 - 15:02 #1
Hvorfor bruger du ikke bare LINQ to SQL ?

http://msdn.microsoft.com/en-us/library/bb425822.aspx
Avatar billede kalp Novice
03. november 2011 - 15:03 #2
Jeg tænker bare.. du er ikke ved at programmere facebook.. så spar dig noget tid og lad LINQ klare det meste arbejde for dig.
Avatar billede Sami420 Nybegynder
03. november 2011 - 23:37 #3
Hvordan bruges de ?
Avatar billede kalp Novice
04. november 2011 - 09:50 #4
I mit første indlæg er der et link, som du kan se nærmere på.
Der er mange kode eksempler, som viser hvordan det virker.

Det er nemt at arbejde med, men du skal måske lige lave en test applikation du kan lege med først.
Avatar billede Sami420 Nybegynder
04. november 2011 - 13:10 #5
Jeg prøver omformulere spørgsmålet, så er jeg sikker på jeg har udtrykt mig klart :)

Jeg har 3 tabeller:

1 Bruger(BRUGERID, Navn, alder, tlfnr,FK_VennerID)
2: Venner(VENNERID, navn, alder,Koen,FK_LokationID)
3: Lokation(LOKATIONID,Postnr, byNavn)


Udfra de 3 tabeller, bliver følgende Entity Model lavet:


public class Bruger
      {
          public int BRUGERID { get; set; }
          public string Navn { get; set; }
          public int Alder { get; set; }
          public int Tlfnr { get; set; }
 
          public virtual ICollection<Venner> Venner { get; set; }
      }
 
      public class Venner
      {
          public int VENNERID { get; set; }
          public string Navn { get; set; }
          public int Alder { get; set; }
          public int LokationID { get; set; }
 
          public virtual Bruger Bruger { get; set; }
          public virtual Lokation Lokation { get; set; }
      }
 
      public class Lokation
      {
          public int LokationID { get; set; }
          public int Postnr { get; set; }
          public string Bynavn { get; set; }
 
          public virtual ICollection<Venner> Venner { get; set; }
      }


Lad os nu antage, at jeg har nede i databasen defineret en sql stored procedure, Som tager og giver mig følgende data fra de 3 tabeller :

Bruger.Navn,Venner.navn,venner.alder,lokation.postnr,Lokation.bynavn


Så det jeg ønsker at vide og have hjælp til er følgende:

Jeg skal have lavet en DaaL layer, med en fundktion som bruger Linq to sql til køre denne sql stored procedure og returne en liste over datae til mig.
Noget i den retning:

Void xxx GetUserinformation(Int UserID)
{



Retunn XX;
}


Hvordan kan man gøre det i Linq to sql og hvordan bestemmer jeg om hvilen Return type funktionen skal have, skal det være Bruger , Venner, Lokation eller hvad for det indholder jo data fra alle de tre tabeller ?!!


Den kommer nok..
Avatar billede kalp Novice
16. november 2011 - 12:11 #6
sorry.. har ikke fået mail omkring dit seneste indlæg.. har du stadig behov for hjælp?
Avatar billede Sami420 Nybegynder
16. november 2011 - 14:40 #7
Hej kalp,

Jeg har læst LINQ to SQL igennem og prøvet lave små test.
Så jeg forstå princippet i den, men det er ALLIGVEL noget som irreter mig.

Altså jeg kan via visual studio "drag n drop" en sql stored presedure og programmet laver den om til en funktion som kan bruges!

Men den sql stored presedure i basen laver join og giver resultater fra forskellige tabeller ... hvis programmet ikke lavede funktionen, skulle resultatet fra sql stored presedure gemmer i flere entitier klasser... (det bliver noget råd!!)


Men jeg er tilfreds med dit svar, men prøv om du kan besvare dette... ( Jeg godkender dit svar selvom du ikke kan besvar dette spørgsmål.... du har jo besvaret det oprindelig spørgsmål !)
Avatar billede kalp Novice
17. november 2011 - 09:49 #8
Jeg forstod ikke helt den sidste problemstilling.
Hvad er det den gør og hvad er det du gerne ville have den til at gøre? :)
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