mam zapytanie jak tenBłąd podczas tworzenia kwerendy LINQ
struct MyStruct
{
public string name;
public double amount;
}
var a =
from p in Products
select new MyStruct
{
name = p.Name,
amount = p.Amount
};
Kiedy wykonania zapytania pojawia się następujący wyjątek:
System.NotSupportedException { "Tylko konstruktorzy bez parametrów i inicjalizatory są obsługiwane w LINQ do jednostek. "}
, ale jeśli zmienię typ MyStruct na klasa następnie działa zgodnie z oczekiwaniami.
Dlaczego to działa z klasa i kończy się niepowodzeniem z struct?
Ale wtedy nie ograniczasz zapytania do podanych pól, co jest jednym z kluczowych punktów rozpoczęcia selekcji. – Servy
Jeśli obawiasz się, że nie pobierzesz zbędnych danych z bazy danych, możesz utworzyć anonimową klasę pośrednią. Nie rozumiem, dlaczego on używa struktur. – Shlomo
Myślę, że bardziej interesuje go "dlaczego", a następnie "jak to naprawić". – Shlomo