关系使用Visual Studio中的实体框架创建于2010

我在与实体框架问题关系使用Visual Studio中的实体框架创建于2010

的问题很简单,我在SQL Server 2008数据库时,我导入的表在Visual Studio 2010项目中创建edmx文件(使用ADO.NET实体数据模型),并非所有关系都在模型中复制,只是其中的一部分。我试着删除重新创建模型,更新,甚至在一个完全新的项目同样的问题变得....

例如:

这种实体被称为“simte_plandeestudio”

创建步骤脚本这个表是:

CREATE TABLE [dbo].[simte_PlanDeEstudio](

[Id] [uniqueidentifier] NOT NULL,

[Estudiante] [uniqueidentifier] NULL,

[Curso] [uniqueidentifier] NULL,

[Duracion] [int] NOT NULL,

[Meta] [int] NOT NULL,

[Estado] [int] NOT NULL,

[FechaFinalizacion] [datetime] NULL,

[Tutor] [uniqueidentifier] NULL,

[FechaInicio] [datetime] NOT NULL,

[MotivoRetiro] [varchar](50) NULL,

[FechaIngresoTaller] [datetime] NOT NULL,

[FechaMatricula] [datetime] NOT NULL,

[TiempoTranscurrido] [int] NOT NULL,

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

SET ANSI_PADDING OFF

GO

**ALTER TABLE [dbo].[simte_PlanDeEstudio] WITH CHECK ADD CONSTRAINT [FK_simte_PlanDeEstudio_simte_Curso] FOREIGN KEY([Curso])

REFERENCES [dbo].[simte_Curso] ([Id])

GO

ALTER TABLE [dbo].[simte_PlanDeEstudio] CHECK CONSTRAINT [FK_simte_PlanDeEstudio_simte_Curso]

GO**

**ALTER TABLE [dbo].[simte_PlanDeEstudio] WITH CHECK ADD CONSTRAINT [FK_simte_PlanDeEstudio_simte_Estudiante] FOREIGN KEY([Estudiante])

REFERENCES [dbo].[simte_Estudiante] ([Id])

GO

ALTER TABLE [dbo].[simte_PlanDeEstudio] CHECK CONSTRAINT [FK_simte_PlanDeEstudio_simte_Estudiante]

GO**

ALTER TABLE [dbo].[simte_PlanDeEstudio] WITH CHECK ADD CONSTRAINT [FK_simte_PlanDeEstudio_simte_Usuario] FOREIGN KEY([Tutor])

REFERENCES [dbo].[simte_Usuario] ([Id])

GO

ALTER TABLE [dbo].[simte_PlanDeEstudio] CHECK CONSTRAINT [FK_simte_PlanDeEstudio_simte_Usuario]

GO

ALTER TABLE [dbo].[simte_PlanDeEstudio] ADD CONSTRAINT [DF_simte_PlanDeEstudio_Id] DEFAULT (newid()) FOR [Id]

GO

前两个约束条件(“simte_Curso”和“simte_Estudiante”)是出现在SQL Management Studio中图,但不传递到模型。

最后一个(“simte_Usuario”)位于数据库关系图中并传递给模型。

的“simte_curso”实体并没有外键和“simte_usuario”只有一个关系到另一个表

我希望它可能是外键更明确

创建脚本“simte_curso”和对于“simte_Usuario”是:

**CREATE TABLE [dbo].[simte_Curso](

[Id] [uniqueidentifier] NOT NULL,

[Nombre] [varchar](50) NOT NULL,

[Orden] [int] NOT NULL,

[UltimoCurso] [bit] NULL,

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]**

**CREATE TABLE [dbo].[simte_Usuario](

[Id] [uniqueidentifier] NOT NULL,

[UsuarioOrchard] [int] NOT NULL,

[TipoDeUsuario] [varchar](10) NOT NULL,

[Nombres] [varchar](50) NOT NULL,

[Apellidos] [varchar](50) NOT NULL,

[Documento] [varchar](50) NULL,

[TelefonoMovil] [varchar](50) NULL,

[FechaDeNacimento] [datetime] NULL,

[CorreoElectronico] [varchar](50) NULL,

[sexo] [bit] NULL,

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

SET ANSI_PADDING OFF

GO

ALTER TABLE [dbo].[simte_Usuario] WITH CHECK ADD CONSTRAINT [FK_simte_Usuario_Orch_Orchard_Users_UserPartRecord] FOREIGN KEY([UsuarioOrchard])

REFERENCES [dbo].[Orch_Orchard_Users_UserPartRecord] ([Id])

GO

ALTER TABLE [dbo].[simte_Usuario] CHECK CONSTRAINT [FK_simte_Usuario_Orch_Orchard_Users_UserPartRecord]

GO**

回答:

通常这是一个表示外键约束尚未在数据库中设置的标志。你能否确认这些关系实际上是在数据库中,而不仅仅是代表外键的列名?

回答:

如果您没有在相关表中设置主键,也可能发生这种情况。我在VS 2013中针对SQL Server 2008 R2创建了一个带有实体框架版本6的edm。这些关系是在数据库中建立的,但在EDM中没有出现在几张表中。将主键字段设置为SQL Server中的主键后,EDM将正确更新。

回答:

您可以在“模型浏览器”中添加一个新图并添加关联,您必须点击鼠标右键并选择“添加到图”。之后,表格和关系将显示在模型中。

以上是 关系使用Visual Studio中的实体框架创建于2010 的全部内容, 来源链接: utcz.com/qa/257168.html

回到顶部