Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internationalization 将实体映射到多个表(EF4、WCF服务)-国际化_Internationalization_Entity Framework 4 - Fatal编程技术网

Internationalization 将实体映射到多个表(EF4、WCF服务)-国际化

Internationalization 将实体映射到多个表(EF4、WCF服务)-国际化,internationalization,entity-framework-4,Internationalization,Entity Framework 4,如果我正确理解了其他几个帖子,那么如果一个实体不共享同一个主键,那么目前不可能将它们映射到多个表 这仍然是真的吗?我想知道的是,下面的db设计和EF应该如何处理国际化 我有一个国际化的数据库,其中文本存储在单独的表中。 e、 g 因此,该产品由两个表组成。在表产品中存储与语言无关的部分,在表产品中存储与语言相关的部分。 这两个表在物理上是用1:n关联链接的,但在逻辑上它是1:1关联,因为我在某个操作中总是需要一种语言 因此,我想将这两个表合并到一个由列组成的实体产品中 产品ID Product

如果我正确理解了其他几个帖子,那么如果一个实体不共享同一个主键,那么目前不可能将它们映射到多个表

这仍然是真的吗?我想知道的是,下面的db设计和EF应该如何处理国际化

我有一个国际化的数据库,其中文本存储在单独的表中。 e、 g

因此,该产品由两个表组成。在表产品中存储与语言无关的部分,在表产品中存储与语言相关的部分。 这两个表在物理上是用1:n关联链接的,但在逻辑上它是1:1关联,因为我在某个操作中总是需要一种语言

因此,我想将这两个表合并到一个由列组成的实体产品中

  • 产品ID
  • ProductGroupID
  • 类语言
  • 产品名称
  • 描述
如果可能的话,我可以把国际化的表格从我的模型中去掉,让它更清晰

这在EF4中是可能的吗。欢迎提供任何国际化方面的指导和经验来解决这个问题

非常感谢


Uwe

我不知道您是否仍然存在问题,但您可以使用产品视图解决问题,更准确地说,每种语言一个视图。

我不知道您是否仍然存在问题,但您可以使用产品视图解决问题,更准确地说,每种语言一个视图。

您可以使用参数化视图,哪种可能更好,并允许轻松添加新的区域性。您可以使用参数化视图,这可能更好,并允许轻松添加新的区域性。
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