나는이 isActive == 사실특수 엔티티는 어떻게 포함될 수 있습니까?
this.ObjectContext.Employees.Include("OrganizationPositions")
DB 구조
Employee | OrganizationPositions
--------- -------------------------
ID ID , EmployeeID , IsActive
나는이 isActive == 사실특수 엔티티는 어떻게 포함될 수 있습니까?
this.ObjectContext.Employees.Include("OrganizationPositions")
DB 구조
Employee | OrganizationPositions
--------- -------------------------
ID ID , EmployeeID , IsActive
Include 지정된 관계에 대한 모든 개체를로드 할 때 모든 관련 OrganizationPositions를 포함합니다. 조건에 따라 일부 엔터티를 필터링 할 수 없습니다. 당신은 수동을 수행하여 개체를 필터링 할 수 있습니다
가입 :
from e in ObjectContext.Employees
join op in ObjectContext.OrganizationPositions
on e.EmployeeID equals op.EmployeeID into g
select new {
Employee = e,
ActivePositions = g.Where(x => x.IsActive)
}
사실이지만이 코드는 AnonymousType을 반환했습니다. 직원 유형이 필요합니다. – Masoomian
@Masoomian 유감스럽게도 쿼리에서 employee를 생성하려고하면 Linq to Entities 쿼리에서 Employee 엔티티를 생성 할 수 없다는 오류가 표시됩니다. 여기서 옵션은 익명의 타입을 얻고 그것을 클라이언트 측의 엔티티로 매핑합니다. –
그것은있을 수 없습니다. 그러나 네비게이션 속성을 올바르게 선언하고 말한 상황이 정말로 필요한 경우 다음과 같은 코드를 사용할 수 있습니다.
//...
// First, retrieve all Employees with navigation property
var emps = new ObjectContext.Employees.Include("OrganizationPositions").AsQueryable();
// Then, clear OrganizationPositions of those that aren't active:
foreach (Employee e in emps) {
if (e.IsActive != true)
e.OrganizationPositions.Clear();
}
친애하는 Amin. 사실이지만이 코드는 데이터베이스에서 'OrganizationPositions'를 모두 가져온 다음 제거합니다. – Masoomian
좀 더 자세한 내용을 알려주시겠습니까? (모든) 마법사가 아니 었습니다. – Thousand
Employee 테이블이 OrganizationPositions 테이블과 조인 됨 OrganizationPositions.EmployeeID = Employee.ID에서 Employee에 OrganizationPositions를 포함하려고합니다. 그러나 IsActive 필드가 true 인 레코드 만 – Masoomian
@Masoomian 관련 엔티티의 일부만로드 할 수 있습니다. 조인 및 가져 오기 데이터를 직접 입력하거나 모든 관련 항목을 포함 –