我正在从数据库更新我的模型,并遇到两个问题: 我已经知道, 我该如何解决? 完整的数据库架构结构如下:
MachineInfo1
模型定义中的MachineInfo2
和MachineInfo
属性应该不存在0..1
表和1 to many
表之间的MachineInfo
关联而不是DisplayAdapter
表关联DisplayAdapter
表中没有定义键可能是一个问题,如here和here所述,但是即使有了此信息,我也不知道如何解决问题。USE [sales]
GO
/****** Object: Table [dbo].[Activation] Script Date: 12/30/2019 4:31:19 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Activation](
[SerialNumber] [nvarchar](256) NOT NULL,
[ReferenceId] [int] NOT NULL,
[ProfileHash] [nvarchar](256) NOT NULL,
[DateActivated] [datetime] NOT NULL,
[MachineNickname] [nvarchar](256) NULL,
[AllowNewMachine] [bit] NOT NULL,
[LastSeen] [datetime] NOT NULL,
CONSTRAINT [PK_XHEO_Activation_Activation] PRIMARY KEY CLUSTERED
(
[SerialNumber] ASC,
[ReferenceId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[ActivationLog] Script Date: 12/30/2019 4:31:20 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ActivationLog](
[Id] [int] IDENTITY(1,1) NOT NULL,
[SerialNumber] [nvarchar](256) NOT NULL,
[ReferenceId] [int] NOT NULL,
[ProfileHash] [nvarchar](256) NOT NULL,
[DateAndTime] [datetime] NOT NULL,
[Operation] [tinyint] NOT NULL,
[UserName] [nvarchar](256) NULL,
[IpAddress] [nvarchar](50) NOT NULL,
[LicensedAssemblyVersion] [nvarchar](50) NOT NULL,
CONSTRAINT [PK_ActivationLog] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[DisplayAdapters] Script Date: 12/30/2019 4:31:21 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[DisplayAdapters](
[ProfileHash] [nvarchar](256) NOT NULL,
[Manufacturer] [nvarchar](256) NULL,
[ChipType] [nvarchar](256) NULL,
[Memory] [int] NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[MachineInfo] Script Date: 12/30/2019 4:31:21 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[MachineInfo](
[ProfileHash] [nvarchar](256) NOT NULL,
[Name] [nvarchar](256) NULL,
[IsVirtual] [bit] NULL,
[OperatingSystem] [nvarchar](256) NULL,
[Manufacturer] [nvarchar](256) NULL,
[Model] [nvarchar](256) NULL,
[Processor] [nvarchar](256) NULL,
[PhysicalMemory] [int] NULL,
CONSTRAINT [PK_MachineInfo] PRIMARY KEY CLUSTERED
(
[ProfileHash] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Activation] WITH CHECK ADD CONSTRAINT [FK_Activation_License] FOREIGN KEY([SerialNumber])
REFERENCES [dbo].[License] ([SerialNumber])
GO
ALTER TABLE [dbo].[Activation] CHECK CONSTRAINT [FK_Activation_License]
GO
ALTER TABLE [dbo].[ActivationLog] WITH CHECK ADD CONSTRAINT [FK_ActivationLog_MachineInfo] FOREIGN KEY([ProfileHash])
REFERENCES [dbo].[MachineInfo] ([ProfileHash])
GO
ALTER TABLE [dbo].[ActivationLog] CHECK CONSTRAINT [FK_ActivationLog_MachineInfo]
GO
ALTER TABLE [dbo].[DisplayAdapters] WITH CHECK ADD CONSTRAINT [FK_DisplayAdapters_MachineInfo] FOREIGN KEY([ProfileHash])
REFERENCES [dbo].[MachineInfo] ([ProfileHash])
GO
ALTER TABLE [dbo].[DisplayAdapters] CHECK CONSTRAINT [FK_DisplayAdapters_MachineInfo]
GO
0 个答案:
没有答案