Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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
Asp.net mvc 3 如何将LINQ写入实体Lambda并连接SelectList中的属性_Asp.net Mvc 3_Lambda_Linq To Entities_Html Select - Fatal编程技术网

Asp.net mvc 3 如何将LINQ写入实体Lambda并连接SelectList中的属性

Asp.net mvc 3 如何将LINQ写入实体Lambda并连接SelectList中的属性,asp.net-mvc-3,lambda,linq-to-entities,html-select,Asp.net Mvc 3,Lambda,Linq To Entities,Html Select,我编写了以下方法来填充DropDownList,它是有效的。但是,我想使用Lambda表达式作为SelectList初始值设定项的第一个参数来编写适当的LINQ查询,而不是那里的理解查询。我的目标是连接Eventm对象的EventmId和EventmTitle属性,以在DropDownList中显示为选择项 谢谢大家! private void PopulateEventmsDropDownList(object selectedEventm = null) {

我编写了以下方法来填充DropDownList,它是有效的。但是,我想使用Lambda表达式作为SelectList初始值设定项的第一个参数来编写适当的LINQ查询,而不是那里的理解查询。我的目标是连接Eventm对象的EventmId和EventmTitle属性,以在DropDownList中显示为选择项

谢谢大家!

     private void PopulateEventmsDropDownList(object selectedEventm = null)
            {
                var eventmsQuery = unitOfWork.EventmRepository.Get(
                                       orderBy: q => q.OrderBy(d => d.EventmId));

                ViewBag.EventmID = new SelectList(
                (from s in eventmsQuery select new { EventmId = s.EventmId.ToString(),
                FullID = s.EventmId + " " + s.EvtTitle }),
                "EventmId", "FullID", selectedEventm);
            }

在使用LINQPad进行了一些尝试和错误之后,我提出了这个Lambda表达式来替换SelectList中的理解查询,如下所示:

private void PopulateEventmsDropDownList(object selectedEventm = null)
    {
        var eventmsQuery = unitOfWork.EventmRepository.Get(
             orderBy: q => q.OrderBy(d => d.EventmId));

        ViewBag.EventmID = new SelectList(nodesQuery.Select(
             x => new {x.NodeId, FullID =  string.Join(
             "  ", x.NodeId.ToString(), x.Title) }), "EventmId", "FullID", selectedEventm);
    }

在使用LINQPad进行了一些尝试和错误之后,我提出了这个Lambda表达式来替换SelectList中的理解查询,如下所示:

private void PopulateEventmsDropDownList(object selectedEventm = null)
    {
        var eventmsQuery = unitOfWork.EventmRepository.Get(
             orderBy: q => q.OrderBy(d => d.EventmId));

        ViewBag.EventmID = new SelectList(nodesQuery.Select(
             x => new {x.NodeId, FullID =  string.Join(
             "  ", x.NodeId.ToString(), x.Title) }), "EventmId", "FullID", selectedEventm);
    }