【发布时间】:2011-02-15 11:13:01
【问题描述】:
我有一个返回结果集(4 列 x n 行)的存储过程。这些数据基于我数据库中的多个表,并为公司内的每个部门提供了摘要。这是示例:
usp_GetDepartmentSummary
DeptName EmployeeCount Male Female
HR 12 5 7
etc...
我正在使用 linq-to-sql 从我的数据库中检索数据(nb - 必须使用 sproc,因为它是我继承的东西)。我想调用上面的sproc并映射到一个部门类:
public class Department
{
public string DeptName {get; set;}
public int EmployeeCount {get; set;}
public int MaleCount {get; set;}
public int FemaleCount {get; set;}
}
在 VS2008 中,我可以将存储过程拖放到 linq-to-sql 设计器的方法窗格中。当我检查designer.cs 时,此存储过程的返回类型定义为:
ISingleResult<usp_GetDepartmentSummaryResult>
我想做的是以某种方式修改它,使其返回Department 类型,以便我可以将存储过程的结果作为强类型视图传递:
<% foreach (var dept in Model) { %>
<ul>
<li class="deptname"><%= dept.DeptName %></li>
<li class="deptname"><%= dept.EmployeeCount %></li>
etc...
任何想法如何实现这一目标?
NB - 我曾尝试直接修改designer.cs 和dbml xml file,但收效甚微。我承认在直接更新这些文件时有点超出我的深度,我不确定这是最佳实践吗?找个方向就好了。
非常感谢
【问题讨论】:
标签: asp.net-mvc linq-to-sql stored-procedures