我仍然熟悉SQL和LINQ,我正在尝试获取一个ID下的每个对象及其对象。
以下是EDMX图表。
我正在传递ClientID,我想列出ClientID下的所有内容,下面是我的查询,但是你可以看到查询只返回第一个元素但是如何更改它以返回每个元素的列表元素如下:
通过ClientID
我的查询在下面返回第一个元素:
public TReportHeaderModel GetHeadersByClient(int ClientID)
{
using (var connection = new TReportEntitiesConnection())
{
var query = (from c in connection.THeader.Include("TReports")
where
c.ClientID == ClientID
select new TReportHeaderModel()
{
ID = c.ID,
THeaderTitle = c.THeaderTitle,
RowNumber = c.RowNumber,
TReports = (from t in c.TReports
select new TReportModel()
{
ID = t.ID,
TReportName = t.TReportName,
URL = t.URL,
RowNumber = t.RowNumber
}).ToList()
}).First();
return query;
}
}
我已经开始工作了!
我必须在我的界面中将其更改为
IList GetHeadersByClient(int ClientID);
这样我就可以返回控制器中的元素列表来传递给视图。
public IList<TReportHeaderModel> GetHeadersByClient(int ClientID)
{
using (var connection = new TReportEntitiesConnection())
{
var query = (from c in connection.THeader.Include("TReports")
where
c.ClientID == ClientID
select new TReportHeaderModel()
{
ID = c.ID,
THeaderTitle = c.THeaderTitle,
RowNumber = c.RowNumber,
TReports = (from t in c.TReports
select new TReportModel()
{
ID = t.ID,
TReportName = t.TReportName,
URL = t.URL,
RowNumber = t.RowNumber
}).ToList()
});
return query.ToList();
}
}