【问题标题】:group by using linq c# on entity framework通过在实体框架上使用 linq c# 进行分组
【发布时间】:2016-10-19 17:51:51
【问题描述】:

我需要按名称分组并汇总名称的所有实例 这是我在控制器中的代码:

public class FansController : Controller
{
    private dbFan db = new dbFan();

    public ActionResult Index()
    {
        var group = from f in db.fans
                    group f by f.TimeInClub;

        return View(group);
    }
}

这是我在模型中的代码:

public class Fans
{
    public int ID { get; set; }
    [Required]
    public string Name { get; set; }
    [DisplayName("Last Name")]
    [Required]
    public string LastName { get; set; }
    [Required]
    [DisplayName("Gender")]
    public string MaleFemale { get; set; }
    [Required]
    [DisplayName("BirthDay")]
    [DataType(DataType.Date)]
    public DateTime BDate { get; set; }
    [Required]
    [DisplayName("Years in Club")]
    public string TimeInClub { get; set; }
}

我需要的输出是包含 2 列的 db:名称和实例数

在我使用的视图中@model IEnumeruble

谢谢:)

【问题讨论】:

    标签: c# asp.net-mvc entity-framework linq


    【解决方案1】:
    var result = from f in db.fans
                 group 1 by f.Name into g
                 select new { Name = g.Key, Amount = g.Count() };
    

    现在@model 现在应该是:

    【讨论】:

    • IEnumerable 怎么办?
    • @user7024226 - 已更新 :) 请参阅说明中的 ()
    • 吉拉德老师 :)
    • 我知道。只是想和打勾一起打个招呼:)
    • @user7024226 - 现在看到 cmets 在下面的回答 - 你能解释什么是错的吗?
    【解决方案2】:

    看到这个

    Selecting count in LINQ

    并尝试类似:

    var group = (from f in db.fans
                group f by a.Name into g
                select new { Name = g.Name, Count = g.Count() });
    

    【讨论】:

    • 我在名为 GroupInstanceByName 的模型中创建了一个类,其中包含字段名称和金额以及使用此代码的 ID im public ActionResult GroupByName() { var result = from f in db.fans group 1 by f .Name into g select new GroupInstanceByName { Name = g.Key, Amount = g.Count() };返回视图(结果); } 虽然调试看起来不太好并且会出错
    • 我在名为 GroupInstanceByName 的模型中创建了一个类,其中包含字段名称和金额以及我使用此代码“public ActionResult GroupByName() { var result = from f in db.fans group 1 by f.Name into g select new GroupInstanceByName { Name = g.Key, Amount = g.Count() }; return View(result); } " 并且调试看起来不好并且出错
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多