我已经使用外键(ParentCompaniesId
)创建了一个Companies表到同一个表的主键。
当我从数据库生成实体框架模型时,它会添加ParentCompany
属性,就像我想要的那样。但是,它还添加了一个名为Companies1
的集合属性来表示同一关系的许多方面。
为什么Companies1
?有没有办法让它命名此属性Companies
?
我的表格类似于下面的脚本。
CREATE TABLE [dbo].[Companies](
[CompaniesId] [int] IDENTITY(1,1) NOT NULL,
[ParentCompaniesId] [int] NULL,
[Description] [nvarchar](100) NOT NULL,
CONSTRAINT [PK_Companies] PRIMARY KEY CLUSTERED
(
[CompaniesId] 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].[Companies] WITH CHECK ADD CONSTRAINT [FK_Companies_Companies] FOREIGN KEY([ParentCompaniesId])
REFERENCES [dbo].[Companies] ([CompaniesId])
GO
ALTER TABLE [dbo].[Companies] CHECK CONSTRAINT [FK_Companies_Companies]
GO
答案 0 :(得分:1)
这是设计器中的错误 - 实际上我在概念模型中唯一知道哪些不能从数据库更新中存活。与此无关。您可以使用简单的脚本/应用程序。这将在从数据库更新后手动运行,以将所有这些意外名称替换为预期的名称。您也可以放弃从数据库更新并手动维护EDMX(它是XML文件)。