亚音速3:存储过程的强类型返回值,返回来自不同表的混合结果

时间:2011-06-08 09:54:19

标签: subsonic

假设我有一个存储过程从两个不同的表返回dataSet。例如:

SELECT Customers.FirstName, Customers.LastName, SUM(Sales.SaleAmount) AS SalesPerCustomer
FROM Customers LEFT JOIN Sales
ON Customers.CustomerID = Sales.CustomerID
GROUP BY Customers.FirstName, Customers.LastName 

有没有办法从这个存储过程获得强类型列表?像这样:

StoredProcedure sp = myDevDB.GetCustomerSales();

List<MyCustomType> resultSet = sp.ExecuteTypedList<MyCustomType>();

我如何以及在何处定义MyCustomType类?如何将其属性映射到实际的表列?

感谢,MEHUL

1 个答案:

答案 0 :(得分:0)

我通过创建一个类来解决它(与我所有其他类在同一个地方,但我没有扩展IActiveRecord,它只是一个vanilla类)。

确保属性名称与过程中的名称和数据类型完全相同,然后调用db.sproc(params).ExecuteTypedList()。AsQueryable();它填得很好。