一直在使用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”,我认为它是合乎逻辑的,因为它不存在
我需要做的是将temporaryDescription映射回说明。
任何团体都知道如何做到这一点?
答案 0 :(得分:0)
您可以尝试添加[Column(...)]
属性;不知道这是否有用。
有些选择让人想到:
Select
或LINQ查询)转换为实际意图班级