chcę wrócić pojedynczy element z mojego kontekście następującoKiedy zapytanie linq Entity Framework zwraca typy dynamicznego proxy, a kiedy nie?
using (var context = new MyContext())
{
var person = context.People.OrderByDescending(x => x.LastUpdatedDate).FirstOrDefault();
}
Moje kontekst wygląda następująco:
public DbSet<Person> People { get; set; }
Dlaczego jest to, że rodzaj mojej osoby zmiennej powyżej nie jest Person
ale dynamiczny typ proxy, taki jak System.Data.Entity.DynamicProxies .Person_5E43C6C196972BF0754973E48C9C941092D86818CD94005E9A759B70BF6E48E6
?
Jeśli używam Find
, otrzymam typ jako Person
. Chcę zwrócić rekord pierwszej listy, który został zamówiony przed datą ostatniej aktualizacji, i wydaje się najbardziej logicznym podejściem.
Zdaję sobie sprawę, że mogę wyłączyć dynamiczne generowanie proxy, ale nie sądzę, że jest to konieczne.
Załóżmy, że moje pytanie jest, które metody linq powodują, że obiekt zostanie zwrócony jako typ, jakiego można się spodziewać i który zwraca dynamiczny typ proxy?
Zaktualizuj pytanie do "Które metody linq powodują, że obiekt jest zwracany jako typ, jakiego można się spodziewać i który zwraca dynamiczny typ proxy?" –
czy to ważne? obiekt proxy nie ma nic specjalnego, żadne elementy nie są dodawane automatycznie, tylko zastępuje właściwości wirtualne zdefiniowane w twoim rzeczywistym typie obiektu, aby podpiąć pewne rzeczy. – Hopeless
Używam automappera, aby następnie mapować do dto. Problem w tym, że mapowanie nie działa, gdy typ zwracany z kontekstu jest dynamicznym proxy. – obaylis