Linq to sql 找不到查询模式的实现-linq错误
我的MVC模型中的linq查询有问题。我有一个edmx,它由ObjectSet和EntityObject组成。这就是我在CanaClie0012中得到错误“来自c”。当我转到定义时,它将转到我的entityObjectLinq 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
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
似乎不是可枚举的
或可查询的