serialisieren Ich habe ein Problem Only parameterless constructors and initializers are supported in LINQ to Entities.
, und bin mir nicht sicher, wie dies zu beheben, kann ich den Konstruktor potenziell entfernen und diese manuell initialisieren, da der Code bereits da ist dann fragte ich mich, wenn überhaupt könnte gemacht werden.Kann nicht series zu viewmodel Typ über Konstruktor
var entries = Db.Devices.Select(device => new DeviceDetailsModel(device)).ToList();
devices.AddRange(entries);
und hier ist der Konstruktor der Klasse
public DeviceDetailsModel(Device device)
{
DeviceID = device.DeviceID;
IPAddress = device.IPAddress;
Alias = device.Alias;
DeviceName = device.DeviceName;
}
Mögliches Duplikat [Link nur parameterlos Konstrukteuren und initializers unterstützt wird in LINQ to Entities Nachricht] (http://stackoverflow.com/questions/17367649/only-parameterless -constructors-and-initializers-unterstützt-in-linq-to-entity) –
Grundsätzlich wird das Auswählen als Teil einer Abfrage für Ihre Datenbank ausgeführt, und Linq hat keine Ahnung, wie Sie Ihren Konstruktor in (vermutlich) SQL zu übersetzen . Wenn Sie sich nicht um die Anzahl der Spalten kümmern, die von der Datenbank zurückgegeben werden, erstellen Sie zuerst Ihr Ergebnis und dann die Transformation. –