ADO.NET - 如何从表中选择多行? (并计算行数)

时间:2014-05-19 20:23:37

标签: c# linq

我正在使用ADO.NET填充C#Winform应用程序。任何人都可以告诉我如何从表格中选择多行吗?我已经知道从表格中选择仅1行的方法,例如:

private WorldCupEntities wce = new WorldCupEntities();
FOOTBALL_TEAM ft = wce.FOOTBALL_TEAM.Single(x => x.ID.Equals(aKnownIDVariable));

顺便说一句,如何在选择行数后计算行数?

非常感谢你们这些先进的人!

5 个答案:

答案 0 :(得分:1)

List<FOOTBALL_TEAM> fts = wce.FOOTBALL_TEAM.Where(x => x.ID.Equals(aKnownIDVariable)).ToList();

获得许多Id等于的地方。可能想要更改查询条件,因为我猜测ID是唯一的。 ToList为您提供了一个列表,获取列表的计数就像list.Count一样简单。

如果您只想获得满足查询条件的计数:

int count = wce.FOOTBALL_TEAM.Count(x => x.ID.Equals(aKnownIDVariable));

现在解释为什么哪里没有最适合你。在哪里返回IQueryable<FOOTBALL_TEAM>。您试图将其设置为FOOTBALL_TEAM的实例,而不是正确的类型。相反,您可以使用var或正确的类型IQueryable<FOOTBALL_TEAM>,或使用ToList将结果转换为列表,就像我上面所做的那样。

答案 1 :(得分:0)

用于选择所有行:

private WorldCupEntities wce = new WorldCupEntities();
var ft = from r in wce.FOOTBALL_TEAM select r;

private WorldCupEntities wce = new WorldCupEntities();
var allRows = wce.FOOTBALL_TEAM.ToList();

用于选择多行(零个或多个):

private WorldCupEntities wce = new WorldCupEntities();
var multipleRows = wce.FOOTBALL_TEAM.Where(x => x.ID.Equals(aKnownIDVariable)).ToList();

有关计数

private WorldCupEntities wce = new WorldCupEntities();
var count = wce.FOOTBALL_TEAM.Where(x => x.ID.Equals(aKnownIDVariable)).Count();

private WorldCupEntities wce = new WorldCupEntities();
    var multipleRows = wce.FOOTBALL_TEAM.Where(x => x.ID.Equals(aKnownIDVariable)).ToList();
var count = multipleRows.Count;

答案 2 :(得分:0)

使用var关键字隐式输入:

var ft = wce.FOOTBAL_TEAM.Where(x=>x.ID==(aKnownIDVariable));

然后计算结果:

int count = ft.Count();

答案 3 :(得分:0)

要选择所有记录,请尝试此

private WorldCupEntities wce = new WorldCupEntities();
var listAll = from item in wce.FOOTBALL_TEAM
                  select item;

或使用像这样的lambda表达式:

private WorldCupEntities wce = new WorldCupEntities(); 
var list = wce.FOOTBALL_TEAM.Where(x => x.ID >= aKnownIDVariable);

答案 4 :(得分:0)

假设WorldCupEntities类是您的数据模型......

using System.Linq;

private WorldCupEntities wce = new WorldCupEntities();
var ft = wce.FOOTBALL_TEAM.Where(x => x.ID.Equals(aKnownIDVariable));
int count = ft.Count();

.Where扩展方法以足球队类型的IEnumerable为您提供符合您所需条件的实体。

使用LINQ计算它们很容易,因为.Count()也被定义为LINQ扩展方法。

您可以在查询运算符的MSDN文档中阅读更多内容:http://msdn.microsoft.com/en-us/library/bb397927.aspx