在初始化DbContext时,Entitiy框架可以过滤实体的数据集吗?实体框架DbContext与查询
我有以下问题: 我想从我们的ERP系统的数据库中读取生产数据。我们所有的部门都将他们的数据保存在一张表中,该表中有一个数据所属部门的字段。现在我正在为一个特定部门开发一款软件。当然,我可以读入DbSet的所有数据,然后查询本部门只是数据集在我的应用程序代码,就像这样:
Dim test As New DB.ModelProd()
Dim cl As New List(Of DB.Charge)
cl = test.Charges.ToList().Where(Function(ch) ch.Company = 3 And ch.ChargeId IsNot Nothing).ToList()
'do something with cl
但因为这是只有一个部门,我不想要的应用程序读取和触摸其他我永远不会使用的数据。另外我想从应用程序中隐藏这些细节,因为它很容易出错(在使用它之前忘记过滤数据等)。
那么,解决这个问题的最好方法是什么?
最好的问候, 罗纳德
您可以将这些细节包裹在您的BL或DAL中。在那里你可以重写DbSets或者他们返回的IQueryables。 – DevilSuichiro
其中之一,你必须删除第一个'.ToList()'。但我想你会喜欢[EntityFramework.DynamicFilters](https://github.com/jcachat/EntityFramework.DynamicFilters)。 –