다른 여러 게시물을 올바르게 이해하면 동일한 기본 키를 공유하지 않는 엔티티를 둘 이상의 테이블에 매핑 할 수 없습니다.둘 이상의 테이블 (EF4, WCF RiaServices)에 엔티티 매핑 - 국제화
여전히 사실입니까? 내가 궁금해하는 것은 어떻게 국제화가 아래의 DB 디자인과 EF로 처리되어야하는지이다.
텍스트가 별도의 테이블에 저장되는 국제화 된 db가 있습니다. 예 :
CREATE TABLE Product(
ProductID int IDENTITY(1,1) NOT NULL,
ProductGroupID int NOT NULL,
...
CONSTRAINT PK_Product PRIMARY KEY CLUSTERED
(
ProductID ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY
) ON PRIMARY
CREATE TABLE Product_i18n(
ProductID int NOT NULL,
LanguageID int NOT NULL,
ProductName nvarchar(150) NULL,
Description nvarchar(max) NULL,
...
CONSTRAINT PK_Product_i18n PRIMARY KEY CLUSTERED
(
ProductID ASC,
LanguageID ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY
) ON PRIMARY
따라서 제품은 두 개의 테이블로 구성됩니다. Product 테이블에는 언어 독립적 파트가 저장되고 Product_i18n 테이블에는 언어 의존 파트가 저장됩니다. 두 테이블은 실제로 1 : n 연결로 연결되어 있지만 논리적으로는 특정 작업에서 하나의 언어가 필요하기 때문에 1 : 1 연결입니다.
그러므로 나는 열
- 제품 ID를 구성 단일 엔티티 제품에 두 테이블을 결합하고 싶습니다
이렇게하면 가능하다면 국제화 된 테이블을 제 모델에서 지워서 더 명확하게 만들 수 있습니다.
EF4로 가능합니까? 이 문제를 해결하기위한 국제화에 대한 안내와 경험은 언제나 환영합니다.
덕분에 많은
우베
매개 변수화 된보기를 사용할 수 있습니다. 매개 변수화 된보기를 사용하면 새 문화권을 쉽게 추가 할 수 있습니다. –