[代码]如何使用为多个结果形状映射的存储过程(LINQ to SQL)

44 篇文章 0 订阅
40 篇文章 0 订阅

有一种存储过程,它返回的结果形状是不确定的,可能会根据所传递的参数不同,而返回不同的结果形状。
比如下面的这个存储过称。

很明显当@Shape的值为1和2的时候,其返回的结果形状是完全不同的,一个返回的客户的3列数据,而一个返回的是订单的3列的数据。

这个代码就是来看如何为这种存储过程生成映射,并且如何使用这样的函数来获取数据。

首先定义一个存储过程,就使用前面的那个SQL语句。
接着,就是根据这个存储过程,创建映射函数了。不过在这之前,首先得要为不同的结果形状生成两个不同的实体类,也就是所谓的投影形状。定义如下:

现在才是映射函数的定义,代码如下:

可以使用类似如下的代码调用这种映射函数来访问数据:

需要注意的是:为GetResult指定元素类型时,务必要与所传递的@Shape参数值一致,否则就可能产生错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值