我写了连接3个表的linq查询。我想以列表的形式返回数据。但根据我的知识列表将不会携带属于其他表的数据。 这是我的查询。当使用不同的表与内部连接时,无法返回linq查询中的列表
public List<ts_upld_doc> GetDetails(int client_id, int emp_id, int empcitizen_id)
{
var truecondn =
(from c in db.ts_upld_doc
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 c).ToList();
if(truecondn.Count>0)
{
var data =
(from up in db.ts_upld_doc
join doc in db.tm_doc_type on up.upld_docid equals doc.doc_typeid
join content in db.tr_upld_content on up.upld_docid equals content.upld_docid
where content.upld_contentlabel == "Expiry Date"
select new
{
doc.doctype_name,
doc.doc_typeid,
content.upld_contentvalue
}).ToList();
}
return truecondn;
}
列表将携带的数据属于该表。但我的查询var数据包含来自多个表的数据。那么将数据传输到控制器的最佳方式是什么?我在DAL中编写了这个查询。哪种返回类型我应该在这里使用?我想以列表形式的数据,因为在控制器我绑定这个数据模型。但这可能是不可能的。我是否需要创建可以以列表<>的形式传输多个表格的数据的视图模型>。请建议。
这是我的视图模型和pococlasses
public class MyViewModel
{
public ts_upld_doc upload_document { get; set; }
public IList<ts_upld_doc> Upload_List { get; set; }
}
public class PocoClasses
{
public virtual int upld_docid { get; set; }
public virtual string upld_contentlabel { get; set; }
public virtual string upld_contentvalue { get; set; }
}
这是我的查询。
public List<PocoClasses> GetDetails(int client_id, int emp_id, int empcitizen_id)
{
var result = (from up in db.ts_upld_doc
join doc in db.tm_doc_type on up.upld_docid equals doc.doc_typeid
join content in db.tr_upld_content on up.upld_docid equals content.upld_docid
select new PocoClasses
{
upld_docid = content.upld_docid,
upld_contentlabel=content.upld_contentlabel,
upld_contentvalue=content.upld_contentvalue
});
return result.ToList();
}
This is how i am trying to bind data to model.
List<PocoClasses> ts = docdel.GetDetails(client_id, emp_id, empcitizen_id);
model.Upload_List = ts;
用[数据传输对象(http://www.asp.net/web-api/overview/data/using-web-api-with-entity-framework/part-5) –