mvc3和linq - 创建一个ViewModel

时间:2012-04-07 19:01:24

标签: linq linq-to-entities

我需要执行两个/三个独立查询并加载到同一个viewmodel并将其传递给视图。

这是我正在做的事,但它甚至没有编译,请看看,让我知道我做错了什么..谢谢

UserViewModel类有2个参数,title,option

e.g。

UserViewModel user= new UserViewModel ();

    var model = (from a in db.Table1
     where string.Equals(a.username, "bob")
    select user
    {   user.Title = a.Title,
        user.option = 1
    });

第二次查询

    model = (from b in db.Table2
             where string.Equals(b.username, "bob")
             select user
             {
                 user.Title= b.Title,
                 user.option= 2
             });

var list = model.ToList();
return View("List",list);

这是简单的查询,我知道我现在可以将它们放入1个查询中,但将来它将完全独立,我需要知道如何进行两个/三个查询并将它们放入一个视图模型中。感谢

1 个答案:

答案 0 :(得分:0)

var user = db.Table1
     .Where(m => m.username == "bob")
     .Select(x => new UserViewModel 
         {
            Title = x.Title,
            Option = 1
         })
      .Union(
           db.Table2
      .Where(m => m.username == "bob")
      .Select(x => new UserViewModel
        {
           Title = x.Title,
           option = 2
        })
      ).ToList();