Kann nicht implizit konvertiert Typ 'System.Sammlungen.Generisches.Liste<AnonymousType#1>' zu 'System.Sammlungen.Generisches.IEnumerable
Nun, dass im Versuch der Right Join Eine Ausnahme Auftauchte.
Dies ist mein Controller
public IEnumerable<APPLICANT> GetApplicant()
{
IEnumerable<APPLICANT> applicantdata = Cache.Get("applicants") as IEnumerable<APPLICANT>;
IEnumerable<Profile> profiledata = Cache.Get("profiles") as IEnumerable<Profile>;
if (applicantdata == null)
{
var applicantList = (from a in context.Profiles
join app in context.APPLICANTs
on a.PROFILE_ID equals app.Profile_id into joined
from j in joined.DefaultIfEmpty()
select new
{
APPLICANT = j,
Profile = a,
}).Take(1000).AsEnumerable();
applicantdata = applicantList.AsEnumerable().ToList();
if (applicantdata.Any())
{
Cache.Set("applicants", applicantdata, 30);
}
}
return applicantdata;
}
Dies ist der Fehler, auf
applicantdata = applicantList.AsEnumerable().ToList();
Kann nicht implizit konvertiert Typ 'System.Sammlungen.Generisches.Liste<AnonymousType#1>'
'System.Sammlungen.Generisches.IEnumerable<Antragsteller.Modelle.ANTRAGSTELLER>'. Eine explizite
Konvertierung vorhanden ist (fehlt ein cast?)
Wie definieren Sie
möglich, Duplikat der kann Nicht implizit konvertiert type 'List<AnonymousType#1>', 'IEnumerable<Modelle.ANTRAGSTELLER>'
Wenn Sie mit
APPLICANT
?möglich, Duplikat der kann Nicht implizit konvertiert type 'List<AnonymousType#1>', 'IEnumerable<Modelle.ANTRAGSTELLER>'
Wenn Sie mit
IEnumerable<Applicant>
als Rückgabetyp, warum dann erstellen Sie einen Anonymen Typ in der LINQ?? Sie benötigen select new Applicant{ }
InformationsquelleAutor Enrique Gil | 2013-05-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
applicantdata
istIEnumerable<APPLICANT>
, in Ihrer select-Anweisung, die Sie auswählen anonymer Typ Objekt mitnew
Stichwort, das ist, warum Sie können nicht konvertieren es zuIEnumerable<APPLICANT>
.Erstellen Sie eine temporary-Klasse mit Ihren Eigenschaften, wie Sie in der select-Anweisung und zurück
IEnumerable
dieser Klasse.Wie:
Dann ändern Sie Ihre Funktion zurück
IEnumerable<MyClass>
wieKönnen Sie nicht Projekt
APPLICANT
da, dass angezeigt wird eine Klasse generiert, die durch entity framework.ich denke, sir-das wird nicht funktionieren, weil applicantdata ist mein container
ja. Danke für den Hinweis, ich war mehr konzentriert auf die Fehler, dann ist die Allgemeine Methode, aber danke nochmal
Ich bin nicht sicher, über das design, aber Sie können
IEnumerable<MyClass>
im cache, aber ich denke, du hast den Grund, warum Sie immer waren, die Fehler, die Sie auswählen, anonym-Objekt und versucht, um wieder eine andere Art von dem, was Sie haben in Ihrem code.InformationsquelleAutor Habib
Definieren Sie die Bewerberdaten zu einer
IEnumerable<APPLICANT>
jedoch der return-Typ von Bewerber-Liste ist einIEnumerable<{Anonymous Type}>
Müssen Sie eine Funktion zum konvertieren von Ihrem anonymen Wert auf einen Bewerber, wenn Sie wollen, es zu benutzen auf diese Weise.
InformationsquelleAutor Bob Vale
Können Sie Ihre Rücksendung geben Sie
Dann wieder
Wie
Wird Ihr problem lösen.
InformationsquelleAutor صفي
Ich denke, dies ist nicht eine effiziente Möglichkeit zu implementieren, weil, wenn Sie anrufen .ToList Sie die Abfrage ausführen und nehmen Sie die Daten auf den Speicher und nach, dass Sie erneut zu konvertieren .AsQueryable(). Stell dir vor, wenn Sie Tausende von Datensätzen, und wie viel es kostet.
Wenn ich falsch bin bitte korrigieren Sie mich. Cheers
InformationsquelleAutor PEO
Anstatt IEnumerable eher zurück IEnumerable und dann, wenn Sie die query aufrufen .ToLost() auf.
InformationsquelleAutor DR.