标签: linq

LINQ中的多个"order by"

我有两个表,movies并且categories,我首先按类别ID获取有序列表,然后按名称获取.

影片表有三列,ID,Name和CategoryID.类别表2包含列,ID和名称.

我尝试了类似下面的内容,但它没有用.

var movies = _db.Movies.OrderBy( m => { m.CategoryID, m.Name })
Run Code Online (Sandbox Code Playgroud)

linq sql-order-by

1537
推荐指数
7
解决办法
58万
查看次数

返回IEnumerable <T>与IQueryable <T>

返回IQueryable<T>IEnumerable<T>?有什么区别?

IQueryable<Customer> custs = from c in db.Customers
where c.City == "<City>"
select c;

IEnumerable<Customer> custs = from c in db.Customers
where c.City == "<City>"
select c;
Run Code Online (Sandbox Code Playgroud)

两者都会延迟执行,何时应该优先于另一个?

c# linq ienumerable iqueryable linq-to-sql

1051
推荐指数
13
解决办法
22万
查看次数

在LINQ分组

我们假设我们有一个类似的课程

class Person { 
    internal int PersonID; 
    internal string car  ; 
}
Run Code Online (Sandbox Code Playgroud)

现在我有一个这个类的列表: List<Person> persons;

现在,此列表可以具有多个具有相同PersonID的实例,例如:

persons[0] = new Person { PersonID = 1, car = "Ferrari" }; 
persons[1] = new Person { PersonID = 1, car = "BMW"     }; 
persons[2] = new Person { PersonID = 2, car = "Audi"    }; 
Run Code Online (Sandbox Code Playgroud)

有没有办法可以分组personID并获得他拥有的所有汽车的清单?

例如,预期结果将是

class Result { 
   int PersonID;
   List<string> cars; 
}
Run Code Online (Sandbox Code Playgroud)

分组后,我会得到:

results[0].PersonID = 1; 
List<string> cars = results[0].cars; 

result[1].PersonID = 2; 
List<string> cars = result[1].cars;
Run Code Online (Sandbox Code Playgroud)

从我到目前为止所做的: …

c# linq group-by

1004
推荐指数
8
解决办法
122万
查看次数

LINQ对特定属性的Distinct()

我正在玩LINQ来了解它,但是当我没有一个简单的列表时,我无法弄清楚如何使用Distinct(一个简单的整数列表很容易做到,这不是问题).我想在对象的一个多个属性上使用对象列表中的区别

示例:如果对象是Person,则使用Property Id.如何获取所有Person并使用对象Distinct的属性Id

Person1: Id=1, Name="Test1"
Person2: Id=1, Name="Test1"
Person3: Id=2, Name="Test2"
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到Person1和Person3?那可能吗?

如果LINQ不可能,那么Person在.NET 3.5 中依赖于某些属性的列表最好的方法是什么?

c# linq distinct .net-3.5

1002
推荐指数
15
解决办法
80万
查看次数

关于DataTable的LINQ查询

我正在尝试对DataTable对象执行LINQ查询,奇怪的是我发现在DataTables上执行此类查询并不简单.例如:

var results = from myRow in myDataTable
where results.Field("RowNo") == 1
select results;
Run Code Online (Sandbox Code Playgroud)

这是不允许的.我如何得到这样的工作?

我很惊讶DataTables上不允许LINQ查询!

.net c# linq datatable .net-3.5

997
推荐指数
21
解决办法
88万
查看次数

Select和SelectMany之间的区别

我一直在寻找和之间的区别Select,SelectMany但我找不到合适的答案.我需要了解使用LINQ To SQL时的不同之处,但我发现的只是标准数组示例.

有人可以提供LINQ To SQL示例吗?

c# linq linq-to-sql

993
推荐指数
11
解决办法
47万
查看次数

按多列分组

如何在LINQ中执行GroupBy多列

SQL中与此类似的东西:

SELECT * FROM <TableName> GROUP BY <Column1>,<Column2>
Run Code Online (Sandbox Code Playgroud)

如何将其转换为LINQ:

QuantityBreakdown
(
    MaterialID int,
    ProductID int,
    Quantity float
)

INSERT INTO @QuantityBreakdown (MaterialID, ProductID, Quantity)
SELECT MaterialID, ProductID, SUM(Quantity)
FROM @Transactions
GROUP BY MaterialID, ProductID
Run Code Online (Sandbox Code Playgroud)

.net c# linq group-by aggregate

919
推荐指数
8
解决办法
53万
查看次数

806
推荐指数
16
解决办法
27万
查看次数

何时使用.第一次以及何时使用.FirstOrDefault和LINQ?

我已经四处寻找并且没有真正找到关于何时想要使用.First以及何时想要使用.FirstOrDefaultLINQ 的明确答案.

.net c# linq

797
推荐指数
9
解决办法
54万
查看次数

LINQ相当于foren for IEnumerable <T>

我想在LINQ中做相同的以下内容,但我无法弄清楚如何:

IEnumerable<Item> items = GetItems();
items.ForEach(i => i.DoStuff());
Run Code Online (Sandbox Code Playgroud)

什么是真正的语法?

linq ienumerable foreach

694
推荐指数
12
解决办法
46万
查看次数