IQueryable we Views'ie

0

Witam.
Mam dane pochodzące prosto z zapytania LinQ

public IQueryable GetComments(int imgId)
        {
            var result = (from c in this.Db.Comments join u in this.Db.Users on c.com_usrId equals u.usr_id where c.com_imgId == imgId select new { usr_id = u.usr_id, usr_firstname = u.usr_firstname, usr_surname = u.usr_surname, usr_country = u.usr_country, com_content = c.com_content, com_date = c.com_date, com_id = c.com_id});
            return result;
        }

i chcę je wyświetlić z ViewBag'a w Views'ie:

<div id="comments-box">
    @{
        if(ViewBag.commentsExist)
        {
            foreach (var single in ViewBag.comments)
            {
                <div class="single-comment-box">
                    <div class="single-comment-user">
                        @single.usr_firstname
                    </div>
                </div>
            }
        }    
    }
</div>

Niestety po odpaleniu tego widoku wywala mi:
"Element „object” nie zawiera definicji „usr_firstname”.".
Co źle robię?
Debugger widzi dane w 'single' ale nie mogę się do nich odwołać.

3

#Usun polski pakiet jezykowy dla .NET
#Nie zwracaj IQueryable do widoku
#Uzywaj silnie typowanych widokow

0

wyglada ze twoj obiekt jest anonimowy. Zwroc typ ktory potrzebujesz. I IQueryable tak dlugo jak go nie wrzucisz do listy cyz czegos tam co potrzebujesz nie jest "zmaterializowany".

1 użytkowników online, w tym zalogowanych: 0, gości: 1