2 Stimmen

Fehlermeldung: Die Entität oder der komplexe Typ kann nicht in einer LINQ to Entities-Abfrage erstellt werden.

Ich habe einen ViewModel erstellt:-

public class viewdata : Tool.Models.Administration.User
    {
        public string Categories { get; set; }
        public int RegionID { get; set; }
        public string RegionName { get; set; }
    }

Es wurde zuerst im Controller erstellt. Dann habe ich seinen Speicherort zu Tool.Models.Derived.viewdata geändert. Jetzt erhalte ich einen Fehler im Actionresult "Lists" im Controller.

public ActionResult Lists(int? page)
            {
                var ListIFC = (from f in _db.Users                          
                               where f.IsActive == 1 && f.UserType == 2
                               select new viewdata
                               {
                                   UserName=f.UserName,
                                   FirstName = f.FirstName,
                                   UserID=f.UserID
                               });
                List obj = (List)ListIFC.ToList();
                int pageSize = 3;
                int pageNumber = (page ?? 1);

               return View(obj.ToPagedList(pageNumber, pageSize));     
            }

Ich erhalte einen Fehler wie diesen...

Das Entitäts- oder komplexe Typ 'Tool.Models.viewdata' kann in einer LINQ to Entities-Abfrage nicht erstellt werden.

0voto

Habib Punkte 211435

Mit Ihrer Aussage:

select new viewdata

Versuchen Sie, Ihr Abfrageergebnis auf Ihre Klasse viewdata zu projizieren, die von Entity Framework abgeleitet ist. Das kann man nicht machen bei der Projektion in LINQ-to-Entities. Stattdessen können Sie eine temporäre Klasse erstellen und darauf projizieren oder auf anonymer Typ projizieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X