【发布时间】:2011-03-24 18:26:20
【问题描述】:
使用 ExecuteQuery 取得了一些成功,即 AccessRights 是我的 dto 并且 queryString 包含“Exec sp_name param1,param2 etc”
var accessRights =
this.db.ExecuteQuery<AccessRights>(queryString, sqlParams.Values.ToArray()).AsQueryable();
如果从存储过程返回的内容可以完美地映射到我在通用 ExecuteQuery 中传递的类型 (dto),那么一切都很完美
问题是我现在有一个返回非标准列名的存储过程。
基本上我有我的 AccessRights 类 (dto),其中包含“userId”、“accessRightId”、“Description”
但新的存储过程返回 UserId、AccessRightId、“TemporaryDescription”。
现在我无法更改它,因为其他事情取决于它......如果我这样做
var accessRights =
this.db.ExecuteQuery<AccessRights>(queryString, sqlParams.Values.ToArray()).AsQueryable();
然后我看不到“TemporaryDescription”,我认为这是合乎逻辑的,因为它不存在
我需要做的是将临时描述映射回描述。
任何机构都知道如何做到这一点?
【问题讨论】:
标签: c# linq-to-sql stored-procedures executequery