2014-10-15 2 views
0
ManageDatabase db = new ManageDatabase(); 

    // 
    // GET: /Addcart/ 

    public ActionResult Index() 
    { 
     List<UserProfile> Userdetails = db.UserProfiles.Where(m => m.UserName == User.Identity.Name).ToList(); 

     var _product = from ord in db.Orders 
         where ord.UserId == Userdetails[0].UserId 
         select ord; 



     return View(_product); 
    } 

У меня есть две модели userprofile и orders.I хочу получить таблицу заказов, где Заказы UserId = Записанный UserId..Но он говорит, что две модели не разрешены для 1 просмотра .... Pls скажите мне решение или скажите меня альтернативный метод.Как отправить две модели в одном представлении в mvc4?

+0

попробовать использовать ViewModel –

+0

Объединить их в одном классе модели, и проход что в поле зрения – Andrei

ответ

0

Создание класса ViewModel:

public class UserOrdersVM 
{ 
List<UserProfile> UserDetails {get;set;} 
List<Order> Orders {get;set;} 
} 

и в действии:

public ActionResult Index() 
{ 
    List<UserProfile> Userdetails = db.UserProfiles.Where(m => m.UserName == User.Identity.Name).ToList(); 

    var _product = (from ord in db.Orders 
        where ord.UserId == Userdetails[0].UserId 
        select ord).ToList(); 

UserOrdersVM vm = new UserOrdersVM() { 
             UserDetails =Userdetails , 
             Orders = _product 
             } 

return View(vm); 
} 

и ввиду:

@model UserOrdersVM 
+0

Здравствуйте, Ehsan Sajjad, я вставил ваш код, но он показывает эту ошибку «LINQ to Entities не распознает метод« Shopping.Web.Models.UserProfile get_Item (Int32) », и этот метод не может быть переведен в выражение хранилища». – venki

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