我正在使用实体框架5.0,并从模型创建我的数据库。以下是edmx图的截图。如何通过传递参数来查询LIST?
我努力的方向,以数据的结构如下:
在给定的客户端ID给我THEADER的列表,它属于该客户端ID和TReports所以我模仿我的模型如下:
public class TReportHeaderModel
{
public int ID { get; set; }
public int ClientID { get; set; }
public string THeaderTitle { get; set; }
public int RowNumber { get; set; }
public IList<TReportModel> TReports { get; set; }
}
public class TReportModel
{
public int ID { get; set; }
public string TReportName { get; set; }
public string URL { get; set; }
public int RowNumber { get; set; }
}
所以,当我查询来获取Theaders
及其对给定clientID的每个报告:
我首先上市的头给定clientID的:
public IList<TReportHeaderModel> GetHeadersByClient(int ClientID)
{
using (var connection = new TReportEntitiesConnection())
{
var clientHeaders= (from st in connection.THeaders
where ClientID == st.ClientID
select new TReportHeaderModel
{
ID=st.ID,
THeaderTitle=st.THeaderTitle,
RowNumber=st.RowNumber
}).ToList();
return (clientHeaders);
}
}
然后得到的每个标题报告的列表,这是我在哪里卡住了--->
public IList<TReportModel> GetChildReportsByHeader(int THeaderID)
{
using (var connection = new TReportEntitiesConnection())
{
// ....
}
}
而是由get分离它的首先由客户端的头部,然后通过头部标识符获取报告,是否可以将它合并到一个方法中?对于混淆的解释抱歉,但我是LINQ Query的新手,请理解。
的下面是用于UI implemetation理想结构:
客户端ID = 2
标题1
- TReportName
- URL
标题2
- TReportName
- URL
在这种情况下,怎么会我返回模型? –
'clientHeaders'是'List',所以你可以返回它。这产生了包含TReportModel的'TReportHeaderModel',所以我认为这是你的“理想结构”。 –
由于我有这种方法,我真的不需要'GetChildReportsByHeader'方法,对吧? –