0

我正在使用 EF 4.1,当我使用以下代码时出现错误:

在当前范围或上下文中无法解析“id”。确保所有引用的变量都在范围内,加载了所需的模式,并且正确地引用了命名空间。接近简单标识符,第 6 行,第 1 列。

C#

    foreach (Person Profile in _ProfilesRepository.GetProfiles(filterExpression.ToString(), sortingName, request.SortingOrder.ToString(), request.PageIndex, request.RecordsCount, request.PagesCount.HasValue ? request.PagesCount.Value : 1))
                {
//the error happens here when it comes back from the GetProfiles call : (
                    response.Records.Add(new JqGridRecord(Convert.ToString(Profile.ID), new List<object>()
                    {
                        Profile.Name,
                        Profile.JobTitle,
                        Profile.Type
                    }));
                }


     public IQueryable<Person> GetProfiles(string filterExpression, string sortExpression, string sortDirection, int pageIndex, int pageSize, int pagesCount)
            {
                if (!String.IsNullOrWhiteSpace(filterExpression))
                    return db.persons.Where(filterExpression).OrderBy(sortExpression + " " + sortDirection).Skip(pageIndex * pageSize).Take(pageSize);
                else
                    return db.persons.OrderBy(sortExpression + " " + sortDirection).Skip(pageIndex * pageSize).Take(pagesCount * pageSize);
                    //return db.persons;

            }
4

2 回答 2

0

试试这个,在你的短表达式/字段名之前添加“它”:

OrderBy("it."+sortExpression + " " + sortDirection).Skip(pageIndex * PageSize).Take(pageSize); OrderBy("it."+sortExpression + " " + sortDirection).Skip(pageIndex * pageSize).Take(pagesCount * pageSize);

于 2012-08-29T02:43:51.257 回答
0

使用时出现提示orderBy("fieldname asc/desc")

db.persons.OrderBy(sortExpression + " " + sortDirection)

当我尝试orderBy使用lambda expression它时,它工作正常,没有错误消息。

db.persons.OrderBy(x=>x.FieldName)
于 2012-08-28T02:18:28.747 回答