나는 층의 분리를 가지고있다 - 웹>은 BLL 그리고 엔티티UI/BL Layer에서 EntityState를 하나씩 설정하는 방법/필요 여부 다음과 같이
참고 문헌 = 앱BLL -
UI 비즈니스 로직 (하는 검증) => 참조 DAL 그리고 엔티티
엔터티 - 데이터 캐리 (POCO) => 참조 없음
DAL - 데이터 컨텍스트 EDMX => 참조 없음
이것은 절대적인 분리가 된 첫 번째 프로젝트이므로 매우 기본적인 질문이 있습니다. 개체 @ UI 수준의 EntityState (추가/수정/삭제됨)를 설정하려면 어떻게해야합니까? 위의 구조로 인해 DataContext에 액세스 할 수 없기 때문입니다.
데이터 형식은 Entity State (데이터 형식)를 설정해야한다는 것을 알고 있기 때문에 위임 사항입니다.
나는 많은 질문을 읽었지만 아무도이 의심을 분명히하지 못했습니다. 하나의 다른 방법은 사용자 지정 State 속성 @ Entities 수준을 유지하는 것입니다.
나는 datacontext가 DAL로 제한되어야한다고 읽었습니다. EntityState를 @ BLL/UI로 설정하는 것은 나쁜 습관입니까?
저는 이런 종류의 아키텍처로 EF를 처음 사용했습니다. 제발 도와주세요.
나는 다음 그래서 질문을 겪었지만 명확하지 않았다, 할 수는 SOC에 대한 지식의 나의 부족에 기인한다 :
1. Which layer should create DataContext?
2. Why DbContext object shouldn't be referred in Service Layer?
3 . If Entity Framework/DbContext is the DAL/Repository, where does it fit within 3-tier architecture?
4. Entity Framework and layer separation
4. How to update entities which are modified outside the DbContext?
편집 1 : 난 아직도 그들의 EntityState.I는 거의 중첩 된 계층 구조를 설정하는 DAL 다시 객체 계층 구조를 통해 루핑에 대한 걱정 한 가지. 평면 구조체에서 같은 작업을 수행해야한다면 UI에서 객체를 채우고 context.savechanges()를 호출해야합니다.
하지만 여기서 @UI를 설정하고 나중에 EntityState.Modified @DAL로 변환 할 수있는 entity에 대해 더미 상태 속성을 만들었습니다. 이것이 올바른 접근 방법입니까?
:
이의 당신이
Update(T entity)
방법이 저장소에 있다고 가정 해 봅시다을, 그 다음은 상태를 처리하는 곳입니다 UI에서 엔티티 상태를 설정해야하는 이유를 이해하지 못합니까? 그게 무슨 뜻 이니? – SOfanatic@SOfanatic 엔티티를 나타내는 그리드가 있고 두 번째 행의 데이터를 수정한다고 가정합니다.이 엔티티가 업데이트되어야한다는 것을 알기 위해 내 컨텍스트에 대해 더티 (수정 됨)로 표시해야합니다. 맞습니까? EF에 대한 나의 경험이 매우 제한적일 때 나는 잘못 될 수있다. – Pavitar
나는 그것을 처리하는 한 가지 방법이 될 것이라고 생각하지만, 그것이 최선의 방법인지는 확실하지 않다. 그냥 분명히하기 위해서 그리드는 단지 하나의 단일 엔티티가 아닌 엔티티들의 집합입니다. – SOfanatic