我有一个简单的数据库具有站点,并且每个站点都有一堆邮件。实体框架不发送Where子句作为WHERE子句SQL Server
我试图得到一定的站点(我有一个变量,名为网站已经是EF带来的一个实例)
第一个明显的事情是所有“公共”的帖子:
var posts = from post in site.Posts
where post.Public == true
orderby post.PublicationTime descending
select post;
这给我带来了我想要的东西,但看着SQL Server Profiler,WHERE只是过滤Public字段,而不是过滤网站。实际上,在SQL Server中运行Profiler捕获的查询确实会将所有站点的所有帖子都带回(这显然是在稍后在ASP.Net端进行过滤)。
然后我尝试:
var posts = from post in db.Posts
where post.Site == site && post.Public == true
orderby post.PublicationTime descending
select post;
相同的结果。
我在这里做一些根本上愚蠢的事情吗?
Entity Framework总是在客户端过滤吗?
谢谢!
Daniel
你能后的网站/帖子班? – 2010-02-11 02:52:15
我假设Public是一个布尔值,但是Site是什么类型? – 2010-02-11 02:53:51
网站是一个模型实体,与帖子的关系,其中一个网站有很多帖子 – 2010-02-11 02:56:48