System.NotsupportedException og LinQ
Jeg er stødt på et problem.Laver følgende kald (Sådan ca):
return from t in TableDAL.GetAllTables()
select TableFactory.CreateTable(t.var1, t.var2);
Hvor
public static IQueryable<SM_Table> GetAllTables()
{
return DatabaseConnection.GlobalConnection.DB_Tables;
}
Når jeg udfører dette, får jeg følgende fejl:
System.NotSupportedException: Metoden 'SiteManagerCore.Tables.BaseTable CreateTable(System.Guid, System.String)' har ingen understøttet oversættelse til SQL.
Kan ikke helt gennemskue hvad der ikke er tilladt. Laver jeg samme eksempel hvor jeg i stedet for at bruge en factory-metode blot skriver:
return from t in TableDAL.GetAllTables()
select new BaseTable(){var1 = t.var1,var2=t.var2);
virker det hele som det skal. Men noget af funktionaliteten kræver, at der laves et factory som returnerer forskellige subclasser afhængigt af forskellige parametre.