nicht. Wenn ich versuche, mein Repository in einem Sub Select aufzurufen, habe ich diesen Fehler erhalten.LINQ to Entities erkennt die Methode 'System.Linq.IQueryable
IGrpTextRepository rep = new GrpTextRepository();
var query = new DetailViewModel
{
ViewDet = (from gh in _db.Grp
select new MultiDetailViewModel
{
Header = gh,
Txts = rep.FindAllLangTxtById(gh.GrpID)
}).ToList(),
Lang = _db.Language.ToList(),
};
Mein Interface ist
public interface IGrpTextRepository
{
IQueryable<GrpText> FindAllLangTxtById(int GrpID);
}
public class GrpTextRepository : IGrpTextRepository
{
DBEntities db = new DBEntities();
public IQueryable<GrpText> FindAllLangTxtById(int GrpID)
{
return (from lang in db.Language
join gtxts in db.GrpText on lang.LangID equals gtxts.LangID into jointxt
from fintxt in jointxt.DefaultIfEmpty()
where fintxt.GrpID == GrpID
select fintxt);
}
}
Hier ist die vollständige Fehlermeldung
System.NotSupportedException: LINQ to Entities nicht das Verfahren erkennen ‚System.Linq.IQueryable`1 [aaa.Models .GrpText] FindAllLangTxtById (Int32) 'Methode, und diese Methode kann nicht in einen Speicherausdruck übersetzt werden.
Ich wünschte, ich könnte dies kurz erklären ... Wie viel wissen Sie bereits über die IQueryable-Schnittstelle, verzögerte Ausführung und Ausdrucksbäume? – jfar