gpt4 book ai didi

asp.net - Linq 查询在 LinqPad 中工作但在 VS 中不工作

转载 作者:行者123 更新时间:2023-12-02 05:33:43 25 4
gpt4 key购买 nike

var rooms = tblRoom
.Where(r => r.hotel_id==1)
.GroupBy(p => p.tblType)
.Select(g => new
{
TypeName = g.Key.type_name,
TypeID = g.Key.type_id,
TypeCount = g.Count()
});

rooms.Dump();

在 LinqPad 中 - 这工作正常,并返回: LinqPadScreenShot

但是,当我将其传输到 Visual Studio 时:

var rooms = dbr.Rooms
.Where(r => r.hotel_id == 1)
.GroupBy(p => p.type_id)
.Select(g => new
{
TypeName = g.Key.type_name,
TypeID = g.Key.type_id,
TypeCount = g.Count()
});

我在 g.Key.type_name 部分收到消息:

**“long”不包含“type_name”的定义,并且找不到接受类型“long”的第一个参数的扩展方法“type_name”(您是否缺少 using 指令或程序集引用?)* *

我正在尝试将结果添加到以下 View 模型:

    public class RatesViewModel
{
public string TypeName { get; set; }
public long TypeID { get; set; }
public int TypeCount { get; set; }
}

我再一次确定,它一定是我遗漏的一些简单的东西 - 所以任何帮助将结果放入 View 模型的帮助,我们将不胜感激。

谢谢,马克

最佳答案

I am trying to add the results to the following viewmodel:

我没有看到您在代码中如何与此 View 模型相关联。您正在简单地查询您的存储库并返回一个匿名对象。

如果你想返回一个 View 模型,调整你的查询以投影到这个 View 模型:

var rooms = dbr
.Rooms
.Where(r => r.hotel_id == 1)
.GroupBy(p => p.type_id)
.Select(g => new RatesViewModel
{
TypeName = g.Key.type_name,
TypeID = g.Key.type_id,
TypeCount = g.Count()
})
.ToList();
return View(rooms);

现在您的 View 显然将强类型化到 View 模型:

@model IEnumerable<RatesViewModel>

关于asp.net - Linq 查询在 LinqPad 中工作但在 VS 中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11987753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com