Avatar billede xenoxsis Nybegynder
11. april 2013 - 21:19

Entity framework code first mangler fremmednøgle entity classer i WebAPI

Hej Eksperter,

Jeg vil ikke lige poste for meget kode før der bliver brug for det for ikke at gøre spørgsmålet uoverskueligt. Hvis i har brug for noget mere kode end det jeg har her, så skriv det i en kommentar.

Jeg har et projekt, et MVC4 projekt (Website.Web) som bruger Entity Framework code first. Mine entity klasser er i et seperat projekt kaldet Website.Domain

Jeg har en NewsPost klasse:

public virtual int Id { get; set; }
public virtual string Subject { get; set; }
public virtual string Content { get; set; }
public virtual string ImageName { get; set; }
public virtual DateTime CreateTime { get; set; }
public virtual int CreatedById { get; set; }
public virtual ICollection<Comment> Comments { get; set; }


Og min comment klasse ser sådan her ud:

public virtual int Id { get; set; }
public virtual int CreatedById { get; set; }
public virtual DateTime CreatedTime { get; set; }
public virtual string Content { get; set; }


Jeg har i mit Web projekt sat entity framework op med nogle repository klasser og jeg bruger ninject som IoC for at separere mine database kald. Og når jeg laver en "GetAll()" på min newspost repository bliver newspost.comments fyldt ud med de kommentarer som vedrører newspost'en. Det virker helt perfekt.

Nu ville jeg så godt prøve at bruge WebAPI, så jeg har lavet et nyt MVC basic projekt (Website.API). Jeg har fjernet views og models mapperne. Så har jeg kopieret alle repository og context klasser fra Website.Web MVC4 projektet til mit API projekt alle data bliver hentet derfra. Jeg har ydermere refereret til de samme entity klasser (i Website.Domain projektet) som Website.Web projektet bruger. Dvs. alt burde være helt ens.

Nu kommer problemet. Jeg har som en test prøvet at lave en GetAll() i Website.API projektet mod Newspost repositoriet. Og jeg kan se at den henter alle nyhedsposter fra Databasen som forventet, men i API projektet er ALLE alle lister af Comments blevet null. Når jeg laver præcis samme ting i Web projektet ER der comments. Så hvad mangler jeg?
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