-2

我在这行代码中遇到错误Session.Linq<Employees>()

" 非静态字段、方法或属性 'System.Web.UI.Page.Session.get' 需要对象引用。

这是我的代码:

 public static object GetData(Dictionary<string, object> tableParams)
        {
            IQueryable<Employees> Employee = Session.Linq<Employees>();
            if (tableParams.ContainsKey("sEcho")) 
            {
                var parser = new DataTableParser<Employees>(tableParams, Employee);
                return parser.Parse();
            }
            return Employee;
        }

如果我使用 HttpContext.Current.Session.Linq<Employees>(); ,那么我得到:

“System.Web.SessionState.HttpSessionState”不包含“Linq”的定义,并且找不到接受“System.Web.SessionState.HttpSessionState”类型的第一个参数的扩展方法“Linq”

我需要做什么才能让它工作?我是否缺少关于 Session 的 Linq 命名空间?我正在使用System.Linqand System.Linq.Expression

4

1 回答 1

0

我认为你误解了一些东西。您尝试做的事情与 Linq 没有任何关系,至少在从会话中检索对象的上下文中没有。

您需要从会话中检索对象并将其拆箱:

var list = Session["MyList"] as List<int>;
if (list != null)
{
    //the list was found and you can start using it here
}
于 2012-04-30T17:01:28.680 回答