2013-09-25 3 views
1

В следующем запросе linq запрос var - это объект, который содержит две модели. Я новичок в asp.net MVC4. Как мы можем использовать модели в объекте в моем просмотреть класс. Запрос var передается от контроллера для просмотра концепцией ViewBag.Message. Пожалуйста помоги.Как получить значения модели от объекта, имеющего две модели

var query = (from F in dataContext.flightobj 
        join FS in dataContext.flightscheduleobj.Where(FS => FS.FlightScheduleID == selectedID) on F.FlightID equals FS.FlightID 
        select new 
        {        
         F,FS 
        }).ToList(); 

ответ

0

Почему вы не объедините ваши модели и вы не написать запрос в вид сбоку ..

public class UserView 
{ 
public User User{get;set;} 
public List<Messages> Messages{get;set;} 
} 

А потом,

return View(new UserView(){ User = user, Messages = message}); 

По мнению:

Model.User; 
Model.Messages; 
0

2 решения:

  1. создают сильно типизированной, таким образом, вы можете Acces модель с моделью. или @Model. После . вы увидите ваши свойства

  2. не сильно типизированных, но тогда вы не имеете никакого intelisence от VS (и не сильно типизированных)

0

Вы можете создать определенную модель представления, а затем передать, что через к строгое типизированное представление (где intellisense будет доступно вам), но если это не вариант или вы просто не хотите этого делать, посмотрите here для объяснения использования динамического способа делать вещи ,

Моя рекомендация всегда должна состоять в том, чтобы пойти с моделью просмотра ... делает вашу жизнь проще. :-)

-1

Мне было довольно сложно использовать сложные объекты, которые были переданы в представление с помощью ViewBag, поэтому я подозреваю, что вам будет намного лучше пропустить запрос var в представлении в качестве модели вместо объекта ViewBag.

Вы почти наверняка не можете явно использовать либо flightobj, либо flightcheduleobj в своем представлении, хотя вы можете использовать столбцы из любой модели, появляющейся в соединении. Возможно, вы захотите написать модель, предназначенную только для использования в представлении, поскольку это может помочь вам понять, какие данные будут доступны для представления, и это обеспечит хорошую сильно типизированную модель, чтобы обеспечить некоторую intellisense, когда вы работаете над Посмотреть.

+0

Из любопытство и желание улучшить мои ответы, почему меня проголосовали? Кто-нибудь знает? – jonatwabash

Смежные вопросы