- 我有一个连接到 Entity Framework 的 MVC 项目(数据库优先)。
- 我有一个类
User
,每次我尝试将它添加到数据库时,它的ID
都是0
。 - 我尝试通过向类添加属性 ID 来解决它,但也没有取得太大进展。
据我所知,SQL 应该在我每次添加内容时自动生成 ID,但它并没有发生。我做错了什么?
数据库
create table Users
(
ID bigint not null primary key,
FirstName nvarchar(50) not null,
LastName nvarchar(50) not null,
BirthDate smalldatetime not null,
Email varchar(50) not null,
UserName nvarchar(50) not null,
Password nvarchar(50) not null
)
c#
public class User
{
//public long ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime BirthDate { get; set; }
public string Email { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
}
public User AddNewUser(Register signedUser)
{
using (MyDBEntities context = new MyDBEntities())
{
User newRegisteredUser = new User {FirstName = signedUser.FirstName, LastName = signedUser.LastName, BirthDate = signedUser.BirthDate, Email = signedUser.Email, UserName = signedUser.UserName, Password = signedUser.Password };
context.Users.Add(newRegisteredUser);
context.SaveChanges();
return newUser;
}
}
最佳答案
您需要像这样将其声明为 IDENTITY 列:
create table Users (
ID bigint IDENTITY(1,1) not null primary key,
FirstName nvarchar(50) not null,
LastName nvarchar(50) not null,
BirthDate smalldatetime not null,
Email varchar(50) not null,
UserName nvarchar(50) not null,
Password nvarchar(50) not null
)
关于c# - 当我通过 EF 向 SQL 添加值时,ID 始终为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45863583/