c# - 当我通过 EF 向 SQL 添加值时,ID 始终为 0

标签 c# entity-framework

  • 我有一个连接到 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/

相关文章:

c# - MySQL Entity Framework 'System.InvalidOperationException'

c# - EF6 : Include Navigation Properties in DbSet. 本地

c# - 将 LINQ 与不同层一起使用意味着我无法访问特定类型

c# - 在 WinRT XAML 中的页面级别更改 ListViewItem 的选择颜色

c# - 我可以使用 Entity Framework 在单个数据库调用中轻松评估多个 IQueryables 吗?

c# - 隐式延迟加载与显式延迟加载

c# - Cisco TSP - 在 C# 中从 32 位工具迁移到 64 位

c# - 延迟扩展应用程序的所有控件,但很容易

c# - Linq Include 方法未显示在 View 模型中

asp.net-mvc - ASP.NET MVC + Entity Framework -如何处理DTO和ViewModel的