我正在使用实体框架代码第一种方法,并希望有一个字符串,其增量为我的Id。我在我的sql server中有以下代码可以为我执行此操作但是我无法在Package Manager中执行update-database,如果我这样做将删除递增字符串的class属性。这是Sql代码:
CREATE TABLE [dbo].[School](
[SchoolID] [int] IDENTITY(1,1) NOT NULL,
Emp_ID as 'emp_' + cast(SchoolID as nvarchar(10))Persisted,
[DayEvent] [nvarchar](100) NULL,
[DayNote] [nvarchar](250) NULL,
CONSTRAINT [PK_dbo.School] PRIMARY KEY CLUSTERED
(
[SchoolID] 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
答案 0 :(得分:1)
首先,如果你发布你的代码第一堂课,我会给出更好的答案。但是我的假设是你已经将它创建为真实的方式,但我认为你错过了DatabaseGenerated属性,该属性指定了数据库如何为属性生成值。
它需要DatabaseGeneratedOption来设置用于为数据库中的属性生成值的模式,它具有for a in string:
print a
选项,用于将相关属性标记为数据库中的自动增量列。
所以在您的代码中首先Identity
类,添加:
School
属性位于[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
属性之上,如下所示:
SchoolID
祝你好运! :)