Ale*_*x P 4 asp.net-mvc stored-procedures linq-to-sql
我有一个存储过程返回一个结果集(4列xn行).数据基于我的数据库中的多个表,并为公司内的每个部门提供摘要.这是样本:
usp_GetDepartmentSummary
DeptName EmployeeCount Male Female
HR 12 5 7
etc...
Run Code Online (Sandbox Code Playgroud)
我正在使用linq-to-sql从我的数据库中检索数据(nb - 必须使用sproc,因为它是我继承的东西).我想调用上面的sproc并映射到一个department类:
public class Department
{
public string DeptName {get; set;}
public int EmployeeCount {get; set;}
public int MaleCount {get; set;}
public int FemaleCount {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
在VS2008中,我可以将我的sproc拖放到linq-to-sql设计器的方法窗格中.当我检查designer.cs这个sproc的返回类型时,定义为:
ISingleResult<usp_GetDepartmentSummaryResult>
Run Code Online (Sandbox Code Playgroud)
我想做的是以某种方式修改它,以便它返回一个Department类型,以便我可以将sproc的结果作为强类型视图传递:
<% foreach (var dept in Model) { %>
<ul>
<li class="deptname"><%= dept.DeptName %></li>
<li class="deptname"><%= dept.EmployeeCount %></li>
etc...
Run Code Online (Sandbox Code Playgroud)
任何想法如何实现这一目标?
注意 - 我曾尝试直接修改designer.cs,dbml xml file但成效有限.我承认在直接更新这些文件方面有点超出我的深度,我不确定这是最佳做法?得到一些指示会很好.
非常感谢
在linq2sql构建器中手动创建类,因此该类是作为linq2sql数据上下文的一部分生成的.将类命名为Department,使用您想要的名称添加4个属性中的每一个.在每个属性的属性中,您需要设置类型(.net类型)和服务器数据类型(varchar(100),int)和源(sproc返回的字段的名称).
完成后,将sproc从服务器资源管理器拖到该类上,sproc的方法将返回一个结果作为该类型的集合.
| 归档时间: |
|
| 查看次数: |
3245 次 |
| 最近记录: |