'id'无法解决..?

时间:2012-08-01 03:37:37

标签: c#-4.0 entity-framework-4

我正在使用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;

            }

2 个答案:

答案 0 :(得分:0)

使用orderBy("fieldname asc/desc")

时会显示该消息
db.persons.OrderBy(sortExpression + " " + sortDirection)

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

db.persons.OrderBy(x=>x.FieldName)

答案 1 :(得分:0)

试试这个,在短表达式/ fieldname之前添加“it”:

  

OrderBy(“it。”+ sortExpression +“”+ sortDirection).Skip(pageIndex *   每页)。取(pageSize的); OrderBy(“it。”+ sortExpression +“”+   sortDirection).Skip(pageIndex * pageSize).Take(pagesCount * pageSize);