【发布时间】:2016-02-29 08:25:26
【问题描述】:
在我的 MVC Web 应用程序中,我有从数据库中获取记录的 linq 查询,我想使用 viewmodel 在视图上显示该记录。我已尝试使用以下代码。
[HttpGet]
public ActionResult CreatePDF()
{
RentalAgreementEntities db = new RentalAgreementEntities();
String strSession1 = "39726-10275-6027589725",strStatus = "Y",strUserType = "L";
var q = (from um in db.User_Master
join ut in db.UserType_Master on um.US_SerialNo.ToString() equals ut.UT_UserNo
join pu in db.PropertyUser_Master on ut.UT_SerialNo.ToString() equals pu.PU_UserNo
join pr in db.Property_Master on pu.PU_PropertyNo equals pr.PR_SerialNo.ToString()
where pr.PR_MakerID == strSession1
&& ut.UT_Status == strStatus
&& ut.UT_UserType == strUserType
select new
{
um.US_FirstName,
um.US_LastName
}
).AsEnumerable().Select(um => new User_Master {
US_FirstName = um.US_FirstName.ToString(),
US_LastName=um.US_LastName
}).ToList();
var myviewmodel=new viewmodelPDF()
{
lsusermaster=q.ToList();
}
return View("pdfgenerationvw",myviewmodel);
}
我还创建了 viemodel 来管理所有模型以显示在视图上(这里,只有一个模型访问代码)。
public class viewmodelPDF
{
public List<User_Master> lsusermaster { get; set; }
}
我的模型类,我将从数据库中获取记录。
public partial class User_Master
{
public string US_FirstName { get; set; }
public string US_LastName { get; set; }
public int US_SerialNo { get; set; }
}
//Other Models
现在我的问题是,在我的操作代码中,当我尝试将查询结果分配给 viewmodel 的 lsusermaster 时,它会给出如下编译器错误。
我不知道,为什么会抛出这个编译错误,如何将查询结果分配给 viemodel 属性?
【问题讨论】:
-
可以,只要去掉 ;符号。由于您使用的是对象表示法,因此不能在每一行上使用分号,但可以使用常规逗号。或者在这种情况下,根本没有迹象。
-
当我删除
;然后编译器给出错误; Expected -
移动 ;在最后一个}之后
标签: c# asp.net-mvc model-view-controller viewmodel