Entity Framework en MVC 3

Pagina: 1
Acties:

  • Wartodust
  • Registratie: Juli 2011
  • Laatst online: 03-10-2011
hallo,

ik ben vrij nieuw in het Entity Framework en MVC en heb mij daarbij een boek gekocht,na heel wat lezen en tutorials volgen probeer ik mijn eigen project (asp.net webforms) om te zetten hierin.

Wat ik wil doen is een aantal entitie klassen vullen adhv het EF. Dit lukt voorlopig voor 1 entity, probleem is : in 1 van die entities staan properties van andere entities (vb. in Article staat een property User) en aangezien die niet rechtstreeks in de tabel uit te lezen zijn ,zijn die null(er is wel een userId aanwezig).Ik wil in mijn view aan die properties kunnen dus maw wil ik dat die properties gevult zijn.

Kan iemand die hierin thuis is uitleggen hoe dit moet?

groetjes,

Nick.

  • Expecho
  • Registratie: Januari 2001
  • Laatst online: 07:39
Wartodust schreef op donderdag 11 augustus 2011 @ 21:54:
hallo,

ik ben vrij nieuw in het Entity Framework en MVC en heb mij daarbij een boek gekocht,na heel wat lezen en tutorials volgen probeer ik mijn eigen project (asp.net webforms) om te zetten hierin.

Wat ik wil doen is een aantal entitie klassen vullen adhv het EF. Dit lukt voorlopig voor 1 entity, probleem is : in 1 van die entities staan properties van andere entities (vb. in Article staat een property User) en aangezien die niet rechtstreeks in de tabel uit te lezen zijn ,zijn die null(er is wel een userId aanwezig).Ik wil in mijn view aan die properties kunnen dus maw wil ik dat die properties gevult zijn.

Kan iemand die hierin thuis is uitleggen hoe dit moet?

groetjes,

Nick.
je hebt lazy loading uitstaan. Je kan je diie navigatie properties (User) laden.

kijk eens naar http://blogs.msdn.com/b/m...n-entity-framework-4.aspx

en dan 2e stuk code:

10: var departments = from d in context.Departments.Include("Courses")

11: where d.Budget != null

12: select d;

Acties:
  • 0 Henk 'm!

  • Wartodust
  • Registratie: Juli 2011
  • Laatst online: 03-10-2011
ik denk eerlijk gezegd dat het aan mijn opbouw ligt, het project is gebaseerd op een bestaande DB , dus ik heb de klassen aangemaakt die overeen komen met de tabellen in sql server. Probleem is op deze manier moet je als ik het goed begrijp ook de relaties tussen de tabellen definieren in C# adhv OnModelCreating.
Het zal nog even zoeken worden.

Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
Wartodust schreef op vrijdag 12 augustus 2011 @ 18:07:
ik denk eerlijk gezegd dat het aan mijn opbouw ligt, het project is gebaseerd op een bestaande DB , dus ik heb de klassen aangemaakt die overeen komen met de tabellen in sql server. Probleem is op deze manier moet je als ik het goed begrijp ook de relaties tussen de tabellen definieren in C# adhv OnModelCreating.
Het zal nog even zoeken worden.
Uhm.. Code-First met een al bestaande database ... ?! :?

Je weet toch wel dat je met Entity Framework ook Database-First kunt werken en het framework alles voor je kan laten genereren a.d.h.v. de database structuur?

Acties:
  • 0 Henk 'm!

  • Wartodust
  • Registratie: Juli 2011
  • Laatst online: 03-10-2011
ja idd , dat heb ik geprobeerd. Als ik een ADO.net Entity Data Model maak met een bestaande DB krijg ik 2 bestanden : BlogData.edmx en BlogData.Designer.cs. Ik vraag mij af hoe ik dan aan de informatie kom uit die entities, alle properties van de tabellen staan in het *.edmx bestand. Er moeten ook extra properties toegevoegd worden die niet uit de DB komen.

Ik heb ook een bijhorende klasse die overerft van DbContext :

C#:
1
2
3
4
5
6
public class EFDbContext : DbContext
    {
        public DbSet<BlogArticle> Articles { get; set; }
        public DbSet<BlogComment> Comments { get; set; }
        public DbSet<User> Users { get; set; }
     }


Als ik een controller maak die een referentie legt naar BlogData krijg ik mapping-errors,
alle tips zijn welkom

Acties:
  • 0 Henk 'm!

  • Hooiopdevork
  • Registratie: December 2008
  • Laatst online: 25-05-2023
De extra properties kun je aanmaken in een nieuwe partial class van de entitie.
Wat voor errors krijg je?

Acties:
  • 0 Henk 'm!

  • Wartodust
  • Registratie: Juli 2011
  • Laatst online: 03-10-2011
kheb het eindelijk aan de praat gekregen, model maken adhv de tabellen in DB. En dan in de designer -> Add code generation item -> ADO.NET DbContext Generator (deze maakt nieuwe klasse aan per entiteit).
Let op, als je Entity Framework 4.1 installeert via NuGet zit deze standaard niet inbegrepen , wel met de standalone versie : http://blogs.msdn.com/b/a...4/11/ef-4-1-released.aspx

@R4gnax
code-first met bestaande DB is blijkbaar toch nog zo vreemd niet :)
http://weblogs.asp.net/sc...an-existing-database.aspx

bedankt voor de reacties.
Pagina: 1