このようなクエリがあります
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で失敗するのはなぜですか?