2009-11-29 6 views
1

내 도메인 구조를 기반으로 엔티티 네임 스페이스를 지정하려고합니다. 보통 그런 :EntityFramework 또는 LinqToSql 엔터티 네임 스페이스

Infrastructure.SqlServer

  • 고객 (NS : Infrastructure.SqlServer.Customers)
    • 고객
    • 주소
  • 제품 (NS : 인프라입니다. SqlServer.Products)
    • 제품
    • ProductVariant
    • ProductCategory는

어떻게 할 수 LinqToSql 또는 EntityFramework와? Infrastructure.SqlServer.Entities와 같은 고유 한 "엔터티 네임 스페이스"만 지정할 수있는 것 같습니다.

감사합니다.

답변

0

나는 우리의 응용 프로그램에서 이것을했습니다. 엔티티 네임 스페이스는 SQL Server 스키마를 기반으로합니다. 각 네임 스페이스는 자체 DBML에 있습니다. 불행하게도 L2S는 .DBML 파일에서 관계를 모델링 할 수는 없지만이 문제를 어느 정도 해결했습니다.

랜디

1

이것은 EF 가능합니다,하지만 난 그것을 추천하지 않을 것입니다.

문제는 EDMX로 이동하여 EDMX 파일의 CSDL 부분 내에 여러 스키마를 만들도록 XML을 수동으로 편집해야합니다 (디자이너는 그대로 두십시오).

내 의견으로는 그다지 가치가 없다.

알렉스

0

그럼 당신은 당신이 필요로하지 않는 각각의 테이블을 제거하여 데이터베이스 스키마를 통해 별도의 모델을 만들 수 있습니다. L2S 또는 Entity Framework를 사용하여이 작업을 수행 할 수 있습니다. 나는 그것이 당신이 의미하는 것이 아니라고 추측하고 있습니다. 두 모델의 엔터티를 쿼리에 포함 할 수 없습니다. 당신은 아마 원하는 무엇

...

유지 보수 이유로이 작업을 수행하는 것을

대부분의 사람들; 모델을 모듈 형 덩어리로 나눕니다. 나는 이걸 가지고 많은 것을 실험 해왔다. 당신이 인내심을 가지고 결정하면 here 기사가 있습니다. 수동으로 자세한 EDMX 파일을 편집하려면 은 현재 매우 서투르고 오류가 발생하기 쉽습니다. 귀하의 요구 사항이 원하는 분할의 전체 범위라면 괜찮을 것입니다. 더 많은 스플릿이있는 더 큰 스키마를 사용하고 있다면 너무 고통 스러울 것입니다.

이것은 분명히 바람직한 기능이며 일반적인 엔터프라이즈 데이터베이스에 사용해야합니다. 장기적으로 이것은 아마도 수정 될 것이지만 지금은 내 조언은이 문제를 해결하는 것입니다. 완전한 LinqToSQL은 어떤 방식 으로든 모델 분할을 지원하지 않습니다.