このようなクエリがあります
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 {"LINQ to Entities では、パラメーターなしのコンストラクターと初期化子のみがサポートされています。"}
しかし、MyStruct のタイプをクラスに変更すると、期待どおりに動作します。
classで動作し、 structで失敗するのはなぜですか?