我在SQL Server中有一个存储过程:
Create PROCEDURE SPLogCountInUser
(@ManegerID int)
AS
SELECT COUNT(*) AS LogDone
FROM vw_UserApprove
WHERE UserMasterID = @ManegerID AND UserState = 0
我想使用此过程向我展示WPF实体框架中此存储过程的输出。
我的WPF窗口中有一个标签,我想让它向我展示上述程序的输出。我的代码是这样的,但它不起作用:
HadishDataBaseEntities database = new HadishDataBaseEntities();
var All = database.SPLogCountInUser(HadishCode.gUserID);
lbl_Log.Content = All.ToList();
答案 0 :(得分:0)
你可以这样做:
HadishDataBaseEntities database = new HadishDataBaseEntities();
var All = database.Database.SqlQuery<int>("SPLogCountInUser @ManegerID", HadishCode.gUserID);
lbl_Log.Content = All.First(); //Your stored procedure will always return one row, so we don't need ToList(), additionally the label will not show the actual value if you set its content to a List.
答案 1 :(得分:0)
什么“不起作用”是什么意思?您是收到编译错误,运行时异常还是意外结果?请在aska问题时指定此内容。
您的SPLogCountInUser
方法的返回类型是什么?如果是IEnumerable
,您可以将Content
的{{1}}属性设置为第一项的字符串表示形式:
Label
答案 2 :(得分:0)
我认为.ToList();如果您希望SP获得一些有意义的价值,则必须添加。 我犯了这样的错误.ToList()并没有得到任何东西,即使我知道SQL调用是正确的。 但是在添加.ToList()之后;然后返回值是一个List,你可以找到你的值。