MVC 4 LINQ 内部联接无法将列表绑定到模型

本文关键字:列表 绑定 模型 LINQ 内部 MVC | 更新日期: 2023-09-27 18:37:05

这是我的视图模型。

public class MyViewModel
    {
        public string upld_documentname { get; set; }
        public uploadtbl upload_document { get; set; }
        public List<uploadtbl > Upload_List { get; set; }
    }

Uploadtbl包含许多字段,如document_id,created_by,client_id,emp_id,empcitizen_id等。这是我的查询。

 public List<uploadtbl> getclientinfo(int client_id, int emp_id, int empcitizen_id)
        {
           List<uploadtbl > tm= (from c in db.uploadtbl  where (c.upld_clientid == client_id && c.upld_employeeid == emp_id) select c).toList()
            return tm;
        }

这里 uploadtbl 包含外键document_id。现在我的查询返回document_id但我想显示其他表中document_name。是否可以在这里做,因为最后我将查询结果绑定到模型。Upload_List(来自视图模型)。我写了内部连接,查询返回document_name但我无法为模型绑定它。Upload_List。我需要更改视图模型吗? 请指教。提前谢谢。像这样的东西我试过了。

public IEnumerable<MyViewModel> getclientinfo(int client_id, int emp_id, int empcitizen_id)
        {
            var uu = (from c in db.uploadtbl join doc in db.doc_type on c.upld_docid equals doc.doc_typeid where (((c.upld_clientid == client_id && c.upld_employeeid == emp_id && empcitizen_id == 0) || (c.upld_clientid == client_id && c.upld_empcitizenid == empcitizen_id && emp_id == 0)) || (client_id == 0 && emp_id == 0 && c.upld_empcitizenid == empcitizen_id)) && c.upld_doc_delstatus == 0 select new { doc.doctype_name, c.upld_docnumber, c.upld_docexpirydate });
            return uu.AsEnumerable;
        }

但在这里返回 UU。作为枚举我得到错误。我在哪里缺少类型转换?请帮助我

MVC 4 LINQ 内部联接无法将列表绑定到模型

代码接近尾声时,需要创建新的MyViewModel对象而不是匿名类型。改变:

select new { ...

自:

select new MyViewModel { ...

请确保为 LINQ 的结果设置适当的属性。

另外,我认为您不需要最后的AsEnumerable