我有一个我使用的简单数据库,以及一个可以使用的 EF 数据模型。
我的表如下所示:
客户表
- 客户ID
- 顾客姓名
订单表
- 订单编号
- 客户 ID FK
- 订购日期
我正在使用辅助类来查询我的模型,在这个类中我有以下查询:
public static List<object> GetCustomerOrdersCount()
{
using (OrdersDbEntities context = new OrdersDbEntities())
{
return context.Customers.Select(
c => new
{
CustId = c.CustomerId,
CustName = c.CustomerName,
OrdersCount = c.Orders.Count
}).ToList<object>();
}
}
我可以与此方法一起使用的唯一返回类型是List<object>
最后我的问题是:我如何使用从这个查询中收到的数据?
我可以读取值的唯一方法是通过反射:
List<object> custs = Dal.GetCustomerOrdersCount();
foreach (var customer in custs)
{
var properties = customer.GetType().GetProperties();
foreach (var data in properties)
{
var value = data.GetValue(custs[0], null);
}
}
我想知道是否有更好的方法来做到这一点。