Avatar billede delphi Nybegynder
07. januar 2010 - 14:56 Der er 7 kommentarer og
1 løsning

Manuelt oprettet association i Entity Framework

Hvis jeg opretter en (entity framework) data model i VS2008 på baggrund af en eksisterende database, så kommer der fint associationer imellem alle de entiteter, hvor der i databasen er oprettet relationer i mellem tabellerne.
Men hvordan opretter jeg en relation imellem to entiteter, der ikke findes i databasen i forvejen?

Antag at jeg har en i database/model med følgende to 2 tabeller/entiteter:

Articles:
- RecId : Int32  // Primary Key
- ArticleName
-....

OrderLines:
- RecId : Int32  // Primary key
- ArticleId : Int32
- ....

OrderLines tabellen indeholder et felt ArticleId, der indeholder en reference til Articles tabellens primær nøgle.  Relationer er dog ikke lavet i databasen som et constraint (og databasen kan af tekniske årsager ikke ændres).
Hvis associationen imellem de to tabeller var oprettet, så vil det være muligt for mig at køre kode som:

    var MyOrderLine = GetOrderLinesById(1);
    var artName = MyOrderLine.Article.ArticleName; // her bruges relationen den ene vej

eller

    var MyArticle = GetArticleById(1);
    var OrdersUsingArticle = MyArticles.OrderLines;  // og her den anden vej

Jeg kan ikke finde ud af, hvorledes jeg laver en, her 1 - mange, relation imellem Articles og OrderLines.

Jeg har i EDM designeren forsøgt at vælge en entitet, right clicke og i pop-up menuen vælge Add -> Association.
Herefter vælges hvilke tabeller der skal associeres imellem og multiplicity (1-1 eller 1-mange), men ingen steder kan jeg se, hvor man vælger hvilke felter der skal relateres imellem, dvs. her OrderLines.ArticleId <-> Articles.RecId.
I "Mapping Details" ser det heller ikke ud til, at man efterfølgende kan vælge/mappe relationen.
Jeg har forsøgt, men at søge på "Entity framework association" og lignende giver på den forkerte side af 800000 links.

Jeg fatter ikke hvorfor det skal være bøvlet - at lave relationer imellem to entiteter er da vel noget af det mest grundlæggende når man arbejder med en relations database.
Avatar billede delphi Nybegynder
10. januar 2010 - 03:15 #1
ingen svar?
Avatar billede delphi Nybegynder
19. januar 2010 - 17:08 #2
Stadig ikke :(
Avatar billede keysersoze Guru
19. januar 2010 - 18:33 #3
Uden kommentarer i så lang tid tvivler jeg på at der når at komme noget overhovedet.

Uden at det formentlig bringer dig meget videre kan jeg sige, at det ikke er lykkedes mig at lave egentlige associationer selv - det tætteste jeg er kommet på er at lave egne properties på mine objekter.

Til dette er der vist kun at sige at vi i høj grad har noget at glæde os til i VS2010!
Avatar billede Syska Mester
19. januar 2010 - 18:42 #4
Som keysersoze ...

kast dig ud i VS 2010 ... der har EF fået rettet en masse ting.

Final af VS 2010 burde kommer sidst i Marts hvis man skal tro på dem ... efter at det lige blev udskudt 2 uger pga alt den feedback.

Der skulle også gerne komme en RC i Februar .... er det ikke BETA2 nu ?

mvh
Avatar billede keysersoze Guru
19. januar 2010 - 18:51 #5
marts var deadline - men den er vist nok rykket lidt (dog ikke så meget som man kunne frygte).
Avatar billede Syska Mester
19. januar 2010 - 18:58 #6
Never trust MS ...

Jeg venter sq hellere lige 1 måned mere, så IDE'en bliver hurtigere ... det er vist deres største problem lige pt.

MVC skal også være færdig, men hvis ikke der skoen trækker.

RC'en kommer også med en go-live licens ...

mvh
Avatar billede delphi Nybegynder
19. januar 2010 - 22:56 #7
Ja, jeg så en demo/beskrivelse af EF i 2010 - og der kan man lave det jeg efterlyser.  Jeg har også det her spørgsmål oppe op CodeProject, men der får jeg heller ikke noget svar. der er noget der tyder på, at det jeg søger slet ikke er understøttet i .NET3.5, men først bliver det i 4.0 (i følge en eller anden MS udvikler blok jeg faldt over.)

Jeg må bevæbne mig med lidt tålmodighed.  Vi kan nok godt skifte til 2010 når den udkommer, men jeg tvivler stærkt på det gavnlige i at anvende et beta udviklingsværktøj til drift i vores afdeling...
Avatar billede delphi Nybegynder
02. februar 2010 - 13:15 #8
Jeg lukker spørgsmålet.  Dethar vist, sig at det ikke rigtigt kan lade sig gøre på den her side af VS2010
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

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