2010-02-12 5 views
2

Tables: Article, Author, Comment (1 article et 1 auteur peut avoir des commentaires *)valeurs NULL dans les propriétés d'objet dans Entity Framework

Dans la base de données est 1 article, 1 auteur et 1 commentaire.

Le problème est que le code

myBD my_bd = new myBD(); 
var articles = by_bd.Article; 

fonctionne OK, je peux voir qu'un Author et un Article a 1 commentaire.

Mais ce code

var comm = (from u in my_bd.Comment 
        where ...... 
        select u); 

renvoie le commentaire, mais il a des valeurs NULL dans la propriété Article et Author. Pourquoi ?

Répondre

3

Entity Framework ne prend pas en charge Lazy Loading (pour le moment) et est pessimiste par défaut. Pour obtenir un objet lié en tant que collections, vous devez les inclure explicitement dans votre requête.

var comm = from u in my_bd.Comment.Include("Article").Include("Author") 
      where ...... 
      select u; 

En faisant cela, vous dites explicitement à EF de faire les jointures lorsqu'il crée la requête. Vous devriez maintenant pouvoir sélectionner ces propriétés.

+0

Merci pour votre poste, maintenant il travaille :) BTW, savez-vous quelques bons livres/ebooks sur Entity Framework? – Tony

+0

En fait, je connais un bon E-Book sur EF: (http://msmvps.com/blogs/brianmadsen/archive/2009/04/10/free-500-page-pdf-on-the-entity -framework.aspx) Cependant, il est utile de noter que vous pouvez commencer à regarder ce qui est possible avec Entity Framework 4, car ce sera très différent de ce que vous utilisez actuellement. – Josh

Questions connexes