0

您好我正在尝试使用存储过程和实体框架 5 在我的 mvc4 应用程序中访问数据库表。我创建了一个 FormValueModel.edmx 文件并导入了用户表和 GetUser 存储过程

这是 GetUser 存储过程的代码

SELECT 
    *
FROM
    [User].[User]
Where
    @UserName = UserName 
    AND @UserPassword = UserPassword
    AND Active = 1

这是我的控制器中访问存储过程的代码

using (var db = new FormValueEntities())
{
    string userName ="TestUser"
    string password = "Password"

    var query = db.GetUser(userName, password);

}   

为什么我不能使用 query.UserName 或 query.UserPassword 等访问表。

提前致谢

4

3 回答 3

4

您需要从查询中获取第一项,即

var user = db.GetUser(userName, password).SingleOrDefault();
于 2012-10-12T08:52:43.370 回答
0

你需要做这样的事情:

var query  = (from a in db.GetUser(userName, password)
select new User
{
   UserName =a.UserName 
    ...other fields
}).tolist();
于 2012-10-12T08:52:19.653 回答
0

检查存储过程!!!

SELECT 
    *
FROM
    [User].[User]
Where
    @UserName = UserName 
    AND @UserPassword = UserPassword
    AND Active = 1

好的:

SELECT 
    *
FROM
    [User].[User]
Where
    UserName = @UserName 
    AND UserPassword = @UserPassword
    AND Active = 1
于 2013-02-14T19:40:18.453 回答