C# ASP.NET实体框架不支持异常
我在应用程序的数据层中使用LINQ to实体,但在调用results.ToList时遇到了NotSupportedException。以下是导致异常的函数:C# ASP.NET实体框架不支持异常,c#,asp.net,linq-to-entities,C#,Asp.net,Linq To Entities,我在应用程序的数据层中使用LINQ to实体,但在调用results.ToList时遇到了NotSupportedException。以下是导致异常的函数: public List<Organization> GetByLocation(Location l) { using (Entities entities = new Entities()) { var results = from o in entiti
public List<Organization> GetByLocation(Location l)
{
using (Entities entities = new Entities())
{
var results = from o in entities.OrganizationSet
where o.Location == l
select o;
return results.ToList<Organization>();
}
}
关键是将给定位置的所有组织的列表返回给服务层,服务层将其返回给MVC控制器,MVC控制器将其转换为JSON,然后将其返回给客户端。服务层希望返回一个列表
这可能很简单。。。有什么帮助吗
public List<Organization> GetByLocation(Location l)
{
using (Entities entities = new Entities())
{
var results = from o in entities.OrganizationSet
where o.Location.Id == l.Id
select o;
return results.ToList<Organization>();
}
}
由于此查询将转换为SQL,因此无法对l进行引用比较。相反,通过PK进行比较。Sheesh,我在Java的Hibernate查询中执行了数百万次,在c语言中工作时完全忘记了这一点。如果有人问我,我暂时避免使用NHibernate,因为它在保持这款应用的轻量级的同时,仍然设计得很好。顺便问一下,有什么好的理由不自动将参考比较变成主键比较吗?这将缩短查询时间,尤其是在复合键的情况下。丹尼尔,这似乎是可能的,但我还没有考虑到后果。对于初学者来说,==可以重载。