EntityFramework4.1的.Local()。ToBindingList(),如何过滤呢?

时间:2011-09-22 18:00:22

标签: entity-framework entity-framework-4.1

示例模型:客户 - >为了

contex.Order.Load();
orderBindingSource.DataSource = context.Order.Local().ToBindingList();

然后,如何过滤?例如context.Order.Where(m=>m.customerID > 1)

我想获得与Local属性返回的ObservableCollection保持同步的BindingList实现。

2 个答案:

答案 0 :(得分:4)

您是否尝试过使用select?

contex.Order.Load();
orderBindingSource.DataSource = 
   context.Order.Local().Select( m => m.customerID > 1).ToBindingList();

修改

对此不完全确定,它编译但我没有完整的环境来测试它。也许如果您尝试加载特定数据,然后您可以在本地访问绑定列表。像这样:

context.Order.Select( m => m.customerID > 1).Load();
orderBindingSource.DataSource = 
   context.Order.Local.ToBindingList();

答案 1 :(得分:0)

我认为最好的方法。 正在使用load,可以查看详情 https://docs.microsoft.com/en-us/ef/ef6/querying/local-data 您可以像示例一样使用 Load 或 best loadAsync

    dbContext.Order.Where(m=>m.customerID > 1).LoadAsync().ContinueWith(loadTask =>
        {
            // Bind data to control when loading complete
            orderBindingSource.DataSource = dbContext.Order.Local.ToBindingList();
          

        }, System.Threading.Tasks.TaskScheduler.FromCurrentSynchronizationContext());