gpt4 book ai didi

c# - 创建 Linq 查询时出错

转载 作者:可可西里 更新时间:2023-11-01 07:58:44 26 4
gpt4 key购买 nike

我有一个这样的查询

struct MyStruct
{
public string name;
public double amount;
}

var a =
from p in Products
select new MyStruct
{
name = p.Name,
amount = p.Amount
};

当我执行查询时,出现以下异常:

System.NotSupportedException {"Only parameterless constructors and initializers are supported in LINQ to Entities."}

但是如果我将 MyStruct 的类型更改为 class 那么它会按预期工作。

为什么它与 class 一起工作而与 struct 一起失败?

最佳答案

它适用于 LinqToObjects。我猜 LinqToEntities 不知道如何创建结构。如果你这样做,你会没事的:

struct MyStruct
{
public string name;
public double amount;
}

var a = Products.AsEnumerable()
.Select(p => new MyStruct
{
name = p.Name,
amount = p.Amount
};

关于c# - 创建 Linq 查询时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15932359/

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