Entity 프레임 워크에서 DbContext를 초기화 할 때 엔터티의 데이터 집합을 필터링 할 수 있습니까?쿼리를 사용하는 엔터티 프레임 워크 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)처럼 될 것이라고 생각합니다. –