2010-05-06 6 views
0

J'ai un nom d'entité "Forum" avec le nombre de propriétés.
J'ai également créé une classe partielle "Forum" qui encapsule les propriétés Extra comme int PostCount.Liste Linq-to-Entities <CustomObject>

List<Forum> lForum = null; 
lForum= (from forum in Forums 
       join post in Posts on forum equals post.Forum into postsInForum 
       select new 
       { 
        Forum = forum, //Fill all 
        PostCount = postsInForum.Count(post => post.ShowIt == 1) //Fill the "extra" property 
       }).ToList(); 

Comment puis-je faire?

Mise à jour
Si j'utilise une nouvelle classe pour la présentation « ForumAndCount » ce qui aura les mêmes propriétés que le Forum et une propriété supplémentaire « PostCount », est-il possible de projeter les champs de tous Forum sur elle à la fois ou Je dois mettre tous les un par un:

select new ForumAndCount 
{ 
    ForumID= forum.ForumID, 
    ForumTitle = forum.Title, 
    ForumImg = forum.Img, 
    Forum... 
    . 
    PostCount = postsInForum.Count(post => post.ShowIt == 1) 
} 

Je peux créer ofcourse propriété type Forum dans mon ForumAndCount, mais je ne veux pas. })

+0

ce que vous voulez faire? – anishMarokey

+0

return Liste avec une propriété supplémentaire avec le résultat Count – shivesh

Répondre

0

Ne placez pas vos propriétés non persistées dans une classe partielle. Cela mêle les problèmes de présentation et de persistance. Au lieu de cela, créez un modèle de vue/présentation distinct. Ensuite, vous pouvez projeter sur cela. Here's an example.

+0

Donc, je devrais créer une classe spéciale pour la couche de présentation? – shivesh

+0

Je fais. La présentation est une préoccupation distincte, et la forme d'une présentation est souvent différente de la forme du modèle d'entité. Votre question est un bon exemple de pourquoi. –

+0

c'est assez bon et je vais l'utiliser dans mon projet, mais je suis toujours intéressé, est-il possible de faire ce que je voulais? – shivesh

Questions connexes