我无法在两个表之间创建1到0..1的关系,其中主键是由两列组成的组合键。首先使用组合键和数据库的一对零关系或一个关系
这些表被导入到EF具有多对多的关系,改变到1周的结果在以下的误差的关系,1至0..1或1:
Multiplicity is not valid in Role Because the Dependent Role properties are not the key properties, the upper bound of the multiplicity of the Dependent Role must be *
主表:
CREATE TABLE [dbo].[MeasurementBlobs] (
[MeasurementResultId] INT NOT NULL,
[ValueType] SMALLINT NOT NULL,
[Id] UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL,
[Value] VARBINARY(MAX) FILESTREAM NOT NULL,
CONSTRAINT [PKMeasurementBlobs] PRIMARY KEY CLUSTERED ([MeasurementResultId], [ValueType]),
CONSTRAINT [FKMeasurementBlobsMeasurementResults] FOREIGN KEY ([MeasurementResultId]) REFERENCES [dbo].[MeasurementResults] ([Id]),
CONSTRAINT [UQMeasurementBlobsId] UNIQUE ([Id])
)
GO
外键表:
CREATE TABLE [dbo].[MeasurementBlobsMeasurementClusters]
(
[MeasurementResultId] INT NOT NULL,
[ValueType] SMALLINT NOT NULL,
[MeasurementClusterId] INT NOT NULL,
CONSTRAINT [PKMeasurementBlobsMeasurementClusters] PRIMARY KEY CLUSTERED ([MeasurementResultId], [ValueType] ASC, [MeasurementClusterId] ASC),
CONSTRAINT [FKMeasurementBlobsMeasurementClustersMeasurementBlob] FOREIGN KEY ([MeasurementResultId], [ValueType]) REFERENCES [dbo].[MeasurementBlobs] ([MeasurementResultId], [ValueType]),
CONSTRAINT [FKMeasurementBlobsMeasurementClustersMeasurementCluster] FOREIGN KEY ([MeasurementClusterId]) REFERENCES [dbo].[MeasurementClusters] ([Id])
)
GO
使用每类型继承表的表是不是一种选择。
模型首先假定您正在使用edmx生成数据库;考虑到你在这里有SQL并且已经声明这些表已经被导入到EF中,这看起来是Database First。另外,当你说“表格是以多对多关系导入的”时,你是什么意思?我没有看到第三张桌子在多对多方面是必要的? – Claies
“将关系更改为1到0..1或1到1”您如何做到这一点?请显示映射。 –
@Claies当然是你的权利,首先将标题改为数据库。那么,没有第三张表,它们是以这种方式导入的。 –