我有一个存储过程:
ALTER PROCEDURE [dbo].[sp_MoodTester]
AS
BEGIN
SELECT Id,
count(Id) // Un-named, auto named to Column1 in entity model
FROM Behaviors
WHERE Id = 1
GROUP by Id
END
当我从这样的应用程序中调用此存储过程时
var aa = context.sp_MoodTester().ToList();
我得到了一个例外
数据阅读器与指定的内容不兼容 'RelativityModel.sp_MoodTester_Result'。该类型的成员, 'Column1'在数据读取器中没有对应的列 同名。
然后我尝试了另一种方式,比如
我创建了一个类似
的模型public class ModelClass
{
public int Id { get; set; }
public Nullable<int> Column1 { get; set; }
}
并尝试这种方式
var obj = context.Database.SqlQuery<ModelClass>("sp_MoodTester").ToList();
它返回一个对象但是使用空列“Column1”,而从该数据库返回的值为“1”。
我的问题是如何获取此值,因为我无法访问数据库来修改存储过程?
我仍无法解决此问题。
答案 0 :(得分:-2)
为计数栏命名:
ALTER PROCEDURE [dbo].[sp_MoodTester]
AS
BEGIN
SELECT Id,
count(Id) as 'theCount'
FROM Impacts
where Id = 1
GROUP by Id
END