Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将linq查询结果传递给viewmodel_C#_Asp.net Mvc_Model View Controller_Viewmodel - Fatal编程技术网

C# 将linq查询结果传递给viewmodel

C# 将linq查询结果传递给viewmodel,c#,asp.net-mvc,model-view-controller,viewmodel,C#,Asp.net Mvc,Model View Controller,Viewmodel,在我的MVCWeb应用程序中,我有一个linq查询,用于查询数据库中的记录,我希望使用viewmodel在视图中显示该记录。我尝试了以下代码 [HttpGet] public ActionResult CreatePDF() { RentalAgreementEntities db = new RentalAgreementEntities(); String strSession1 = "39726-10275-6027589725",strSt

在我的MVCWeb应用程序中,我有一个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来管理要在视图上显示的所有模型(这里,只有一个模型访问代码)

现在我的问题是,在我的操作代码中,当我试图将查询结果分配给viewmodel的
lsusermaster
时,它会给出编译器错误,如下所示。


我不知道为什么会抛出这个编译错误,如何将查询结果分配给viemodel属性?

当您在C#中使用对象初始值设定项时,您不能使用
在属性之间,在初始值设定项末尾使用它

所以只需删除
(或根据建议使用
),并将其移动到初始值设定项块的末尾

var myviewmodel=new viewmodelPDF()
{
  lsusermaster=q.ToList()
};

使用
即使没有其他属性也可以工作。。。它“看起来”很糟糕,但如果您需要新属性,则可以更轻松地添加它们。。。如果代码是最终的,我不会使用它,但这是个人偏好

当您在C#中使用对象初始值设定项时,您不能使用
在属性之间,在初始值设定项末尾使用它

所以只需删除
(或根据建议使用
),并将其移动到初始值设定项块的末尾

var myviewmodel=new viewmodelPDF()
{
  lsusermaster=q.ToList()
};
使用
即使没有其他属性也可以工作。。。它“看起来”很糟糕,但如果您需要新属性,则可以更轻松地添加它们。。。如果代码是最终的,我不会使用它,但这是个人偏好

尝试以下方法:

var myviewmodel=new viewmodelPDF()
{
  lsusermaster=q.ToList()
};
试试这个:

var myviewmodel=new viewmodelPDF()
{
  lsusermaster=q.ToList()
};

你可以,就把这个,;签名由于您使用的是对象表示法,所以不能在每一行上使用分号,但使用常规逗号即可。或者在这种情况下,没有任何标志。当我删除
然后comiler给出错误
;预期的
移动;在最后一个}之后,只需删除;签名由于您使用的是对象表示法,所以不能在每一行上使用分号,但使用常规逗号即可。或者在这种情况下,没有任何标志。当我删除
然后comiler给出错误
;预期的
移动;最后一次之后}谢谢,它起作用了。在action code
lsusermaster
中显示一条记录,但在viewmodel
lsusermaster
中显示零条记录。是否需要在viemodel类中创建
User\u Master
model的对象来访问记录?您的代码在我看来是正确的。当您说它在viewmodel lsusermaster中显示零记录时,您是什么意思?是否在视图中使用viewmodel lsusermaster?是。我将在查看时显示来自
lsusermaster
的记录。明白了,查看页面上有一个小问题,我解决了,谢谢你的回复。谢谢,它工作正常。在action code
lsusermaster
中显示一条记录,但在viewmodel
lsusermaster
中显示零条记录。是否需要在viemodel类中创建
User\u Master
model的对象来访问记录?您的代码在我看来是正确的。当您说它在viewmodel lsusermaster中显示零记录时,您是什么意思?是否在视图中使用viewmodel lsusermaster?是。我将在查看时显示来自
lsusermaster
的记录。明白了,查看页面出现了小问题,我解决了,谢谢您的回复。