C# 如何在文本框中显示LINQ Lambda表达式

C# 如何在文本框中显示LINQ Lambda表达式,c#,linq,lambda,C#,Linq,Lambda,我对Lambda表达式有点陌生,我试图为我自己设定的以下任务找到一个简单的解决方案。 一位顾客有一系列汽车。使用LINQ获得他拥有的汽车总数。 下面的代码,不确定这是否正确?我的第二个问题是如何在文本框中显示TotalNumberCars using (Entities dbcontext = new Entities()) { var ListByOwner = from c in dbcontext.Owners where c.Owner

我对Lambda表达式有点陌生,我试图为我自己设定的以下任务找到一个简单的解决方案。 一位顾客有一系列汽车。使用LINQ获得他拥有的汽车总数。 下面的代码,不确定这是否正确?我的第二个问题是如何在文本框中显示
TotalNumberCars

using (Entities dbcontext = new Entities())
{
    var ListByOwner = from c in dbcontext.Owners
                      where c.OwnerID == OwnerID
                      group c by c.Cars into g
                      select new
                      {
                          Owner = g.Key,
                          TotalNumberCars = g.Sum(x => x.Cars)
                      };

    lblTotalCars.Text = ListByOwner.ToList();
}
ListByOwner.ToList()
是从
Select
投影中选择的新项目的数组(通用列表)。每个项目都是一个动态实体,具有两个属性
Owner
TotalNumberCars
。您需要索引或foreach到列表中,将需要的内容提取到一个字符串中,该字符串可以是您的文本

例如
lblTotalCars.Text=ListByOwner[0].Owner将显示第一个项目的所有者


拿着这个,填上你需要的东西

我不知道您的实体数据模型是如何构造的,但我会这样做:

using (var dbContext = new Entities())
{
    var numberOfCars = dbContext.Cars.Count(c => c.OwnerId == OwnderId);
    lblTotalCars.Text = numberOfCars.ToString();
}
如果没有c.OwnerId,那么您可以通过键入c.Owner.OwnerId来访问它。

检查此代码

lblTotalCars.Text = ListByOwner.ToList().sum(c=>c.TotalNumberCars).ToString();

有多少家庭作业,哈?请一次问一个问题。另外,“不确定这是否正确?”也不是问题。如果你不能判断它是否正确,我们就不可能了。通过运行代码并查看它是否符合您的要求,您就知道它是正确的。如果它做了你想要的,它是正确的。如果没有,那就不是了。不清楚您希望以何种方式显示
TotalNumberCars
;您可能会有多个该值的实例…您想要该值的总和吗?只是其中一个例子?还有别的吗?这个问题是不清楚的,太宽泛了,缺少了一个有助于我们理解它的好方法。