예 : 엔터티 엔터티는 엔터티 # 1로 표시됩니다. 사용자가 부서 # 6에 속하는 경우, 그는 고객 # 16, # 31의 기록에 액세스 할 수 있지만 그는 # 14, 그 캔 부서 # 3에서 사용자가 볼 수 없습니다 여기
Table ACCESSCONTROL:
EntityId PrimaryKey DepartmentId
1 16 6
1 31 6
1 14 3
내가 도메인에 사용하고있는 클래스의 예 :
Public Class Customer
Public Property Id As Integer
.......
Public Overridable Property Acl As ICollection(Of AccessControl)
End Class
Public Class AccessControl
Public Property EntityId As Integer
Public Property PrimaryKey As Integer
Public Property DepartmentId As Integer
End Class
어떻게 유창 코드 첫 번째 접근 방식을 사용하여 DbContext 정의에이 관계를 설명 할 수 있습니까? 미리 감사드립니다.
데이터베이스에 외래 키는 어떻게 정의되어 있습니까? 힌트 : EF는 데이터베이스와 동일한 규칙을 사용합니다 (고유 키는 지원하지 않습니다). –
안녕하세요, 데이터베이스에서 도메인 및 DbContext의 엔티티로 포함되지 않은 Departments 테이블의 DepartmentId 필드에 대한 외래 키 관계 만 정의했습니다! AccessControl 테이블은 EntityId 필드로 표시된 여러 엔티티에 속한 레코드에 대한 규칙을 포함 할 수 있으므로 다른 엔티티와 강력한 관계가 없습니다! AccessControl의 세 필드는 모두 테이블의 기본 키를 나타냅니다. – yeswest72
'PrimaryKey' 열은 가상 관계를 만들기 위해 여러 엔티티 ('EntityId'가 다른 값을 가졌 으면)가 공유합니까? –