Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 在将实体框架dbset指定为数据源之前对其进行筛选_Entity Framework_Filtering_Bindinglist - Fatal编程技术网

Entity framework 在将实体框架dbset指定为数据源之前对其进行筛选

Entity framework 在将实体框架dbset指定为数据源之前对其进行筛选,entity-framework,filtering,bindinglist,Entity Framework,Filtering,Bindinglist,我希望能够做到下面的评论,但我不知道如何做到这一点。我理解为什么我需要进行加载,然后引用本地可观察集合,并将其设置为BindingList,以便网格中的更改保持同步,但是如何在分配它之前进行我想要进行的过滤呢?现在,我需要在网格中进行过滤,这不是我想要做的 Core.MyContext.SiteVisits.Load(); var siteVisits = Core.MyContext.SiteVisits.Local.ToBindingList(); //.Where(siteVisit =&

我希望能够做到下面的评论,但我不知道如何做到这一点。我理解为什么我需要进行加载,然后引用本地可观察集合,并将其设置为BindingList,以便网格中的更改保持同步,但是如何在分配它之前进行我想要进行的过滤呢?现在,我需要在网格中进行过滤,这不是我想要做的

Core.MyContext.SiteVisits.Load();
var siteVisits = Core.MyContext.SiteVisits.Local.ToBindingList();
//.Where(siteVisit => siteVisit.UPC == _site.UPC)
ugSiteVisits.DataSource = siteVisits;

非常感谢您的帮助。

不用加载所有的站点访问,只需使用
IQueryable.Load()
查询您想要的站点访问并将它们添加到本地集合中即可


移动到
加载之前的
位置
。嗯,我确实尝试过,当然,它不起作用。IQueryable不支持绑定列表,这正是我的问题。抱歉,您的答案没有信用。请参阅更新以获得答案。David,非常感谢您提供此信息!新的observablecollection方法正是我所缺少的,它在我的程序中起作用。我简直不敢相信没有办法做到这一点,你已经恢复了我对EntityFramework/Linq的信心。该死,看来我需要收回我的荣誉了。我测试了我的应用程序,在dbset中更改了一行字段,效果很好。但是,我在另一个测试中删除了一行,该行在数据库中没有被删除。我现在怀疑AsEnumerable扩展方法没有使observablecollection与EF同步。请帮忙?第二种解决办法有效,第一种不行。再次感谢你的帮助!
Core.MyContext.SiteVisits.Where(siteVisit => siteVisit.UPC == _site.UPC).Load();
ugSiteVisits.DataSource = Core.MyContext.SiteVisits.Local.ToBindingList();