我正在编写一个生成匿名结果集的连接查询。我的问题是,我不知道应该从我的功能服务返回哪种数据类型,我试图返回对象类型,但我不知道如何在源代码中访问结果元素...
这是我的代码:
public static IEnumerable<object> GetProductSalesInfoById(int id)
{
var query = from product in database.Products
join sales in database.SalesOrderDetails
on product.ProductID equals sales.ProductID
select new {Name = product.Name,OrderId = sales.SalesOrderID,TotalPrice = (sales.UnitPriceDiscount)*sales.OrderQty*sales.UnitPrice};
IEnumerable<object> result = query.ToList();
return result;
}
答案 0 :(得分:1)
您应该创建一个DTO类,其中包含匿名对象中的属性并返回IEnumerable<T>
个属性。另一个不太好的解决方案是使用dynamic
,但我不会使用它。
答案 1 :(得分:1)
创建一个像这样的自定义类
var obj = {name: 'misko', gender: 'male'};
var log = [];
angular.forEach(obj, function(value, key) {
console.log(key + ': ' + value);
});
// it will log two iteration like this
// name: misko
// gender: male
希望这会帮助你。
答案 2 :(得分:0)
您可以使用Tuple或匿名类型(您需要使用强制转换来取回对象)。 请查看此链接以了解用法:Anonymous & tuple objects