C# 如果加入其他数据库,如何在LINQ中排序 在LINQ中排序
我有2个数据库客户和账单 我想从CustomerName中获取CustomerName并对其进行排序,但它没有数据,我只需要一次.ToList(),因为如果使用多个.ToList(),速度会很慢 我不知道该怎么做。请帮帮我C# 如果加入其他数据库,如何在LINQ中排序 在LINQ中排序,c#,entity-framework,linq,sorting,join,C#,Entity Framework,Linq,Sorting,Join,我有2个数据库客户和账单 我想从CustomerName中获取CustomerName并对其进行排序,但它没有数据,我只需要一次.ToList(),因为如果使用多个.ToList(),速度会很慢 我不知道该怎么做。请帮帮我 我不确定我是否理解您的代码,但这是怎么回事: var BillData = (from t1 in db2.Bill select new { BillCode = t1.Billcode,
我不确定我是否理解您的代码,但这是怎么回事:
var BillData = (from t1 in db2.Bill
select new {
BillCode = t1.Billcode,
CustomerCode = t1.Customer,
CustomerName = db1.Customer.FirstOrDefault(c => c.CustormerCode == t1.Customer)?.CustomerName
});
然后,您在BillData中拥有保存CustomerName的对象,您可以通过该对象进行订购:
BillData.OrderBy(bd=>bd.CustomerName)代码>我不确定是否理解您的代码,但这是怎么回事:
var BillData = (from t1 in db2.Bill
select new {
BillCode = t1.Billcode,
CustomerCode = t1.Customer,
CustomerName = db1.Customer.FirstOrDefault(c => c.CustormerCode == t1.Customer)?.CustomerName
});
然后,您在BillData中拥有保存CustomerName的对象,您可以通过该对象进行订购:
BillData.OrderBy(bd=>bd.CustomerName)代码>如果您只想从客户数据库中获取CustomerName并对其进行排序,这就是我会使用的方法。我使用orderByDescending,但您也可以使用OrderBy
public List<Customer> getLogsByCustomerName(string customername)
{
using (var dbentites = new CustomerEntities())
{
var result = (from res in dbentites.Customer.OrderByDescending(_ => _.CustomerName)
where res.CustomerName == customername
select res).ToList();
return result.ToList();
}
}
公共列表getLogsByCustomerName(字符串customername)
{
使用(var dbentites=new customerenties())
{
var result=(来自dbentites.Customer.OrderByDescending(=>\uUx.CustomerName)中的res)
其中res.CustomerName==CustomerName
选择res.ToList();
返回result.ToList();
}
}
如果您只想从客户数据库中获取CustomerName并对其进行排序,这就是我会使用的方法。我使用orderByDescending,但您也可以使用OrderBy
public List<Customer> getLogsByCustomerName(string customername)
{
using (var dbentites = new CustomerEntities())
{
var result = (from res in dbentites.Customer.OrderByDescending(_ => _.CustomerName)
where res.CustomerName == customername
select res).ToList();
return result.ToList();
}
}
公共列表getLogsByCustomerName(字符串customername)
{
使用(var dbentites=new customerenties())
{
var result=(来自dbentites.Customer.OrderByDescending(=>\uUx.CustomerName)中的res)
其中res.CustomerName==CustomerName
选择res.ToList();
返回result.ToList();
}
}
error:{“指定的LINQ表达式包含对与不同上下文关联的查询的引用。”}@otaroo:square。客户上的客户代码是值类型还是引用类型?如果您使用CustomerData而不是db1.Customer来查询CustomerName会怎么样?如果这不起作用,我现在也不知道。谢谢,如果我对每个循环进行排序,它会起作用,但是当很多循环data@otaroo:但不应使用此方法运行foreach循环。错误:{“指定的LINQ表达式包含对与不同上下文关联的查询的引用。”}@otaroo:square。客户上的客户代码是值类型还是引用类型?如果您使用CustomerData而不是db1.Customer来查询CustomerName会怎么样?如果这不起作用,我现在也不知道。谢谢,如果我对每个循环进行排序,它会起作用,但是当很多循环data@otaroo:但不应使用此方法运行foreach循环。