我正在使用 EF Core 3.1 和使用 Linq-to-Entities 的数据库优先方法。但是当我用这段代码创建我的模型时
Scaffold-DbContext "Server=xxxx;Database=xx;Trusted_Connection=True;Integrated security=false;User id=xx;Password=xx;" Microsoft.EntityFrameworkCore.SqlServer -f -OutputDir Models
它不会[DatabaseGenerated(DatabaseGeneratedOption.Computed)]在具有默认值的生成的类属性上添加正确的值。
这是我的表脚本:
CREATE TABLE [dbo].[member](
[id] [bigint] IDENTITY(1,1) NOT NULL,
[fName] [nvarchar](20) NOT NULL,
[lName] [nvarchar](30) NOT NULL,
[gender] [bit] NOT NULL,
[birthDate] [date] NULL,
[education] [tinyint] NOT NULL,
[province] [tinyint] NOT NULL,
[image] [nvarchar](200) NOT NULL,
CONSTRAINT [PK_Member] 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].[member] ADD CONSTRAINT [DF_member_gender] DEFAULT ((0)) FOR [gender]
GO
ALTER TABLE [dbo].[member] ADD CONSTRAINT [DF_member_birthDate] DEFAULT (NULL) FOR [birthDate]
GO
ALTER TABLE [dbo].[member] ADD CONSTRAINT [DF_member_education] DEFAULT ((1)) FOR [education]
GO
ALTER TABLE [dbo].[member] ADD CONSTRAINT [DF_member_province] DEFAULT ((1)) FOR [province]
GO
ALTER TABLE [dbo].[member] ADD CONSTRAINT [DF_member_image] DEFAULT ('') FOR [image]
GO
ALTER TABLE [dbo].[member] WITH CHECK ADD CONSTRAINT [FK_Member_education] FOREIGN KEY([education])
REFERENCES [dbo].[education] ([id])
GO
ALTER TABLE [dbo].[member] CHECK CONSTRAINT [FK_tblMember_education]
GO
ALTER TABLE [dbo].[member] WITH CHECK ADD CONSTRAINT [FK_Member_Province] FOREIGN KEY([province])
REFERENCES [dbo].[province] ([id])
GO
ALTER TABLE [dbo].[member] CHECK CONSTRAINT [FK_Member_Province]
GO