我尝试使用Linq查询DBSet
,但会抛出InvalidCastException
:
" ... type' System.Data.Entity.Infrastructure.DbQuery 1 [Cercami.Model.Articolo]' on type' System.Data.Entity.DbSet 1 [Cercami.Model.Articolo]'"
查询下方:
private DbSet<Articolo> FiltraArticoliPerRichiestaDaDB(int id)
{
DbSet<Articolo> Result = (DbSet<Articolo>)from Art in DB.Articoli
where Art.Fk_Richiesta == id
select Art;
return Result;
}
DB.Articoli是DBSet<Articolo>
任何帮助?
答案 0 :(得分:5)
以下查询:
from Art in DB.Articoli
where Art.Fk_Richiesta == id
select Art;
会返回IEnumerable<Articolo>
。据说它无法投放到DbSet<Articolo>
。
此外,我认为你可能想要这个:
public IEnumerable<Articolo> FiltraArticoliPerRichiestaDaDB(int id)
{
var arts = from Art in DB.Articoli
where Art.Fk_Richiesta == id
select Art;
return arts;
}
我也更改了方法的访问修饰符,因为我认为它应该是一个公共(可访问)方法。如果不是这种情况,您只需将其更改回private
。