Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果加入其他数据库,如何在LINQ中排序 在LINQ中排序_C#_Entity Framework_Linq_Sorting_Join - Fatal编程技术网

C# 如果加入其他数据库,如何在LINQ中排序 在LINQ中排序

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,

我有2个数据库客户和账单 我想从CustomerName中获取CustomerName并对其进行排序,但它没有数据,我只需要一次.ToList(),因为如果使用多个.ToList(),速度会很慢

我不知道该怎么做。请帮帮我


我不确定我是否理解您的代码,但这是怎么回事:

   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循环。