Linq to sql 找不到查询模式的实现-linq错误

Linq to sql 找不到查询模式的实现-linq错误,linq-to-sql,asp.net-mvc-4,linq-to-entities,Linq To Sql,Asp.net Mvc 4,Linq To Entities,我的MVC模型中的linq查询有问题。我有一个edmx,它由ObjectSet和EntityObject组成。这就是我在CanaClie0012中得到错误“来自c”。当我转到定义时,它将转到我的entityObject public class ClientRepository { public List<ClientSearchResult> Search(ClientSearchFilter filter, string sortColumn, s

我的MVC模型中的linq查询有问题。我有一个edmx,它由ObjectSet和EntityObject组成。这就是我在CanaClie0012中得到错误“来自c”。当我转到定义时,它将转到我的entityObject

   public class ClientRepository
    {

        public List<ClientSearchResult> Search(ClientSearchFilter filter, string sortColumn, string sortOrder, int pageSize, int pageIndex, out int totalRecords)
        {

            var q = from c in CanaClie0012
                    select new ClientSearchResult
                    {
                        Client00130012 = c.Client00130012,
                        F1Pais00200012 = c.F1Pais00200012,
                        F1Cana02530012 = c.F1Cana02530012,
                        Direcc0012 = c.Direcc0012,
                    };

            if (!string.IsNullOrEmpty(filter.Client00130012))
            {
                q = q.Where(c => c.Client00130012.ToLower().Contains(filter.Client00130012.ToLower()));
            }
            if (!string.IsNullOrEmpty(filter.F1Pais00200012))
            {
                q = q.Where(c => c.F1Pais00200012.ToLower().Contains(filter.F1Pais00200012.ToLower()));
            }
            if (!string.IsNullOrEmpty(filter.F1Cana02530012))
            {
                q = q.Where(c => c.F1Cana02530012.ToLower().Contains(filter.F1Cana02530012.ToLower()));
            }
            if (!string.IsNullOrEmpty(filter.Direcc0012))
            {
                q = q.Where(c => c.F1Cana02530012.ToLower().Contains(filter.F1Cana02530012.ToLower()));
            }


            switch (sortColumn)
            {
                case "Client00130012":
                    q = (sortOrder == "desc") ? q.OrderByDescending(c => c.Client00130012) : q.OrderBy(c => c.Client00130012);
                    break;
                case "F1Pais00200012":
                    q = (sortOrder == "desc") ? q.OrderByDescending(c => c.F1Pais00200012) : q.OrderBy(c => c.F1Pais00200012);
                    break;
                case "Direcc0012":
                    q = (sortOrder == "desc") ? q.OrderByDescending(c => c.Direcc0012) : q.OrderBy(c => c.Direcc0012);
                    break;
                case "F1Cana02530012":
                    q = (sortOrder == "desc") ? q.OrderByDescending(c => c.F1Cana02530012) : q.OrderBy(c => c.F1Cana02530012);
                    break;
                default:
                    break;
            }
            totalRecords = q.Count();
            return q.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
        }


    }
公共类ClientRepository
{
公共列表搜索(ClientSearchFilter筛选器、字符串排序列、字符串排序器、int pageSize、int pageIndex、out int totalRecords)
{
var q=来自卡纳克利岛2012中的c
选择new ClientSearchResult
{
Client00130012=c.Client00130012,
F1Pais00200012=c.F1Pais00200012,
F1CANA0253012=c.F1CANA0253012,
Direcc0012=c.Direcc0012,
};
如果(!string.IsNullOrEmpty(filter.Client00130012))
{
q=q.Where(c=>c.Client00130012.ToLower().Contains(filter.Client00130012.ToLower());
}
如果(!string.IsNullOrEmpty(filter.F1Pais00200012))
{
q=q.Where(c=>c.F1Pais00200012.ToLower().Contains(filter.F1Pais00200012.ToLower());
}
如果(!string.IsNullOrEmpty(filter.f1cana2530012))
{
q=q.Where(c=>c.f1cana2530012.ToLower().Contains(filter.f1cana2530012.ToLower());
}
如果(!string.IsNullOrEmpty(filter.Direcc0012))
{
q=q.Where(c=>c.f1cana2530012.ToLower().Contains(filter.f1cana2530012.ToLower());
}
开关(sortColumn)
{
案例“客户00130012”:
q=(sortOrder==“desc”)?q.OrderByDescending(c=>c.Client00130012):q.OrderBy(c=>c.Client00130012);
打破
案例“F1Pais00200012”:
q=(排序器==“desc”)?q.OrderByDescending(c=>c.F1Pais00200012):q.OrderBy(c=>c.F1Pais00200012);
打破
案例“Direcc0012”:
q=(sortOrder==“desc”)?q.OrderByDescending(c=>c.Direcc0012):q.OrderBy(c=>c.Direcc0012);
打破
案例“F1CANA0253012”:
q=(排序器==“desc”)?q.OrderByDescending(c=>c.f1CANA0253012):q.OrderBy(c=>c.f1CANA0253012);
打破
违约:
打破
}
totalRecords=q.Count();
返回q.Skip((pageIndex-1)*pageSize.Take(pageSize.ToList();
}
}
我已经尝试添加以下内容:

List<CanaClie0012> clients = new List<CanaClie0012>();
List clients=newlist();

但是它返回空值。请帮帮我。我在这里迷路了。

你的右边@Gert Arnold。那确实解决了我的问题。。多谢各位

  MMProdatEntities clients = new MMProdatEntities();

            public List<ClientSearchResult> Search(ClientSearchFilter filter, string sortColumn, string sortOrder, int pageSize, int pageIndex, out int totalRecords)
            {

                var q = from c in clients.CanaClie0012
                        join d in clients.Clientes0013 on c.Client00130012 equals d.Client0013 
                        select new ClientSearchResult
                        {
                            Client00130012 = c.Client00130012,
                            F1Pais00200012 = c.F1Pais00200012,
                            F1Cana02530012 = c.F1Cana02530012,
                            Direcc0012 = c.Direcc0012,
                        };

                if (!string.IsNullOrEmpty(filter.Client00130012))
                {
                    q = q.Where(c => c.Client00130012.ToLower().Contains(filter.Client00130012.ToLower()));
                }
                if (!string.IsNullOrEmpty(filter.F1Pais00200012))
                {
                    q = q.Where(c => c.F1Pais00200012.ToLower().Contains(filter.F1Pais00200012.ToLower()));
                }
                if (!string.IsNullOrEmpty(filter.F1Cana02530012))
                {
                    q = q.Where(c => c.F1Cana02530012.ToLower().Contains(filter.F1Cana02530012.ToLower()));
                }
                if (!string.IsNullOrEmpty(filter.Direcc0012))
                {
                    q = q.Where(c => c.Direcc0012.ToLower().Contains(filter.Direcc0012.ToLower()));
                }


                switch (sortColumn)
                {
                    case "Client00130012":
                        q = (sortOrder == "desc") ? q.OrderByDescending(c => c.Client00130012) : q.OrderBy(c => c.Client00130012);
                        break;
                    case "F1Pais00200012":
                        q = (sortOrder == "desc") ? q.OrderByDescending(c => c.F1Pais00200012) : q.OrderBy(c => c.F1Pais00200012);
                        break;
                    case "F1Cana02530012":
                        q = (sortOrder == "desc") ? q.OrderByDescending(c => c.F1Cana02530012) : q.OrderBy(c => c.F1Cana02530012);
                        break;
                    case "Direcc0012":
                        q = (sortOrder == "desc") ? q.OrderByDescending(c => c.Direcc0012) : q.OrderBy(c => c.Direcc0012);
                        break;
                    default:
                        q = (sortOrder == "desc") ? q.OrderByDescending(c => c.Client00130012) : q.OrderBy(c => c.Client00130012);
                        break;
                }
                totalRecords = q.Count();

                return q.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
            }
mmprodatenties客户端=新的mmprodatenties();
公共列表搜索(ClientSearchFilter筛选器、字符串排序列、字符串排序器、int pageSize、int pageIndex、out int totalRecords)
{
var q=来自客户端中的c.CanaClie0012
将d加入c.Client00130012上的clients0013等于d.Client0013
选择new ClientSearchResult
{
Client00130012=c.Client00130012,
F1Pais00200012=c.F1Pais00200012,
F1CANA0253012=c.F1CANA0253012,
Direcc0012=c.Direcc0012,
};
如果(!string.IsNullOrEmpty(filter.Client00130012))
{
q=q.Where(c=>c.Client00130012.ToLower().Contains(filter.Client00130012.ToLower());
}
如果(!string.IsNullOrEmpty(filter.F1Pais00200012))
{
q=q.Where(c=>c.F1Pais00200012.ToLower().Contains(filter.F1Pais00200012.ToLower());
}
如果(!string.IsNullOrEmpty(filter.f1cana2530012))
{
q=q.Where(c=>c.f1cana2530012.ToLower().Contains(filter.f1cana2530012.ToLower());
}
如果(!string.IsNullOrEmpty(filter.Direcc0012))
{
q=q.Where(c=>c.Direcc0012.ToLower().Contains(filter.Direcc0012.ToLower());
}
开关(sortColumn)
{
案例“客户00130012”:
q=(sortOrder==“desc”)?q.OrderByDescending(c=>c.Client00130012):q.OrderBy(c=>c.Client00130012);
打破
案例“F1Pais00200012”:
q=(排序器==“desc”)?q.OrderByDescending(c=>c.F1Pais00200012):q.OrderBy(c=>c.F1Pais00200012);
打破
案例“F1CANA0253012”:
q=(排序器==“desc”)?q.OrderByDescending(c=>c.f1CANA0253012):q.OrderBy(c=>c.f1CANA0253012);
打破
案例“Direcc0012”:
q=(sortOrder==“desc”)?q.OrderByDescending(c=>c.Direcc0012):q.OrderBy(c=>c.Direcc0012);
打破
违约:
q=(sortOrder==“desc”)?q.OrderByDescending(c=>c.Client00130012):q.OrderBy(c=>c.Client00130012);
打破
}
totalRecords=q.Count();
返回q.Skip((pageIndex-1)*pageSize.Take(pageSize.ToList();
}

什么是
CanaClie0012
,该标识符的声明是什么?
CanaClie0012
似乎不是
可枚举的
可查询的