gpt4 book ai didi

c# - 如何创建一个 'global' 变量来返回 linq 结果?

转载 作者:行者123 更新时间:2023-11-30 22:57:17 28 4
gpt4 key购买 nike

假设我在 View 中有一个下拉列表。不同的选择将使用不同的 linq 结果,需要返回到 View 。

我已经完成了 View 页面。现在在我的 Controller 上,我有点卡住了。我知道 var 不能用作“全局”变量声明。但是那我该怎么做呢?

这是我的代码:

[HttpPost]
public ActionResult About(string Linq)
{
IEnumerable<NorthwindResult> Linq1;

switch (Linq)
{
case "Most Expensive":
Linq1 = from Products in northwindEntities.Products
where
Products.UnitPrice ==
(from Products0 in northwindEntities.Products
select new
{
Products0.UnitPrice
}).Max(p => p.UnitPrice)
select new NorthwindResult
{
ProductName = Products.ProductName,
UnitPrice = Products.UnitPrice
};

break;
case "Above Average":
Linq1 = from Products in northwindEntities.Products
where
Products.UnitPrice >
(from Products0 in northwindEntities.Products
select new
{
Products0.UnitPrice
}).Average(p => p.UnitPrice)
orderby Products.UnitPrice descending
select new NorthwindResult
{
ProductName = Products.ProductName,
UnitPrice = Products.UnitPrice
};
break;
default:
break;
}
return Linq1;
}

最佳答案

您可以声明一个自定义类型来代替匿名类型:

public class ProductPrice
{
public string Name { get; set; }
public decimal Price { get; set; }
}

然后LinqResult声明为

IEnumarable<ProductPrice> LinqResult;

然后您将选择更改为

select new ProductPrice { Name = Products.Product name,  Price = Products.UnitPrice };

关于c# - 如何创建一个 'global' 变量来返回 linq 结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53754106/

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