문제

우리는 데이터 모델는 일부 요구 사항입니다.하고 싶을 만들 수 있는 방법을 찾아 이러한 요구 사항 가능한 한 투명을 사용하는 동안 EF.

첫째,모델을 지원해야 합니다 부드러운 삭제합니다.나는 본 적이 주위에 몇 가지 질문이 될 것이라고 생각한다는 비교적 간단합니다.

둘째,우리는"삽입만"정책이 있습니다.는 것을 의미합니다.업데이트입니다,새로운 항목을 삽입해야 합 대신 합니다.하고 싶을 치료 할 수 있는 작업으로 업데이트 및 있는 프레임워크를 삽입니다.

셋째,때문에#2 할 때 우리는 쿼리를,우리가 필요한 주문 내림차순으로 정체성에 열고 첫 번째 레코드가 반환니다.도 할 때는 반환하는 쿼리를 많이 기록합니다.기본적으로,이를 만듭니다.

넷째,우리가 원하지 않을 구현하는 이 논리에서 수집합니다.그것은 좋은 것을 있는 프레임워크를 위해 그것을 할 수 있도록 우리 대우 쿼리는 것처럼 정상 지난 유형에 트랜잭션이 있습니다.

사람이 구현한 데이터 모델 EF?어떤 기술을 사용하셨나요?

제가 알기로는 일부의 수행할 수 있습니다 전망 그리고/또는 Sprocs,하지만 당신이 보기를 사용하여 다음을 유지하기 위해 모든 관계를 수동으로(EF 읽을 수 없는 관계를 통해 전망).도 트리거가 가능 하지만 우리는 DBA 의 것으로 원하는 몇 가지 트리거가 가능하고,매우 광범위한 검토사항에 대한 모든 트리거의 오래 걸리는 시간을 수행할 수 있습니다.오히려 하지 트리거를 사용하지 않는 경우가 있습니다.

작업에서 주로 데이터베이스의 처리 방법만을 사용 dbcontext.

편집:

주어진 약 라디의 의견을 아래 나는 또한 관심이 어떤 의견에 대한 다른 ORM 의 수 있는 처리할 수 있 이러한 요구 사항입니다.

도움이 되었습니까?

해결책

  1. 이것이 가능한 조건적 매핑을 추가 열 것이라 삭제된 기록 사용자 지정 SQL command /매핑 저장된 절차에 대한 모든 기업이 요구하는 삭제를 수행하는 대신 업데이트를 삭제합니다.
  2. 내가 의심 EF 이것을 처리됩니다.수정하는 경우 연결된 인스턴스에서 로드된 데이터베이스에 그것을 실행할 것입 업데이트합니다.할 수 있습을 다시 지도 저장을 수행하는 절차를 삽입하는 대신 업데이트 하지만 변경이 반영되지 않는 응용 프로그램에서 논리입니다.당신은 폐기 컨텍스트와 데이터를 다시 로드와 함께 새로운 문맥스 변화를 볼 수 있습니다.더 나은 옵션은 단순히 강제 응용 프로그램이 어딘가에 복제 entity 삽입합 복제적으로 새로운 하나입니다.
  3. EF 당신을 허용하지 않습니다 추가 이러한 조건을 자동으로 생성된 쿼리를 투명하게하지 않는 한 당신이지도 그것으로보기 또는 사용자 지정 SQL 쿼리.를 사용하면 당신은 보거나 SQL 쿼리해야 합니다 또한 SQL 명령을 사용하거나 저장된 절차에서 삽입 업데이트 및 삭제 작업입니다.사용자 정의를 사용하여 SQL 쿼리가 동일한 단점을 사용하는 것으로 전망이다.
  4. 를 사용하지 않는 경우에는 SQL 쿼리를 작성해야 합니다 쿼리 자신이 예를 들어의 형태로 사용자 지정 재사용할 수 있는 방법 확장하고 모든 곳에서 사용하지만 알고 있는 열망 또는 게으른로드하지 않은 이것을 반영합니다.의 경우에는 열망하고 게으른 로드 당신은 항상 모든 버전입니다.

저장 프로시저를 매핑에 필요한 데이터.SQL 사용자 지정 명령을 쿼리 매핑에 필요한 데이터를없이 다른 상업적인 도구를 당신은 또한 수동으로 유지하시겠.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top