上下文。我想将一个发货表分成两个表,第一个用于关于最常用的发货的一般数据,在第二个表中用于将拾取和目的地地址存储在具有选择器字段RecordType的不同记录中,以便检索仅在需要时才提供地址信息。为此,我创建了三个实体,实体Move用于运输一般信息,实体提取地址和实体目的地地址,最后两个实体有一个附加字段“地址类型”,以区分哪个是拾取,哪个是目的地。 使用模型中的映射详细信息屏幕,我将两个实体,PickupAddress和DestinationAddress映射到同一个表MoveAddresses,具有codition recordtype =“P”的PickupAddress和具有条件recordtype =“D”的DestinationAddress。 当我重建数据层解决方案时,我遇到了以下错误
Error 2 Error 3032: Problem in mapping fragments starting at line 625: Condition member 'MoveAddresses.AddressType' with a condition other than 'IsNull=False' is mapped. Either remove the condition on DestinationAddresses.AddressType or remove it from the mapping.
Error 4 Error 3033: Problem in mapping fragments starting at line 647: EntitySets 'PickupAddresses' and 'DestinationAddresses' are both mapped to table 'MoveAddresses'. Their primary keys may collide.
答案 0 :(得分:0)
您要实现的是每个层次结构的表。根据您的描述,听起来您正在使用Entity Framework Designer表面。在Entity Framework Designer中为每个Hiearchy建模表是一个多步骤过程。
Address
实体,其中Addresses
实体设置,匹配整个地址表)。暂时忘掉Move
表,你现在只关心表共享数据。Address
,即PickupAddress
派生自Address
pickup date
已从Address
移至PickupAddress
。