C# EF在Sql Server中添加没有用户ID的用户
我想使用数据库集将用户添加到我的数据库中,但我只收集有关用户名和密码的信息。如果没有用户ID,如何添加 这是我的构造器:C# EF在Sql Server中添加没有用户ID的用户,c#,sql-server,entity-framework,C#,Sql Server,Entity Framework,我想使用数据库集将用户添加到我的数据库中,但我只收集有关用户名和密码的信息。如果没有用户ID,如何添加 这是我的构造器: public class User { [Key] public int Id { get; set; } [Required] [MaxLength(30)] public string Username { get; set; } [Required]
public class User
{
[Key]
public int Id { get; set; }
[Required]
[MaxLength(30)]
public string Username { get; set; }
[Required]
[MaxLength(30)]
public string Password { get; set; }
public List<Note> Notes { get; set; }
public User(string username, string password)
{
this.Id = 1;
this.Username = username;
this.Password = password;
}
当我执行代码时,数据库仍然是空的。尝试按如下方式注释属性以使用自动增量
公共类用户
{
[关键]
[数据库生成(DatabaseGeneratedOption.Identity)]
公共int Id{get;set;}
[必需]
[MaxLength(30)]
公共字符串用户名{get;set;}
[必需]
[MaxLength(30)]
公共字符串密码{get;set;}
公共列表注释{get;set;}
公共用户(字符串用户名、字符串密码)
{
this.Username=用户名;
this.Password=密码;
}
}
或者像这样使用fluentapi
modelBuilder.Entity<User>()
.HasKey(p => new { p.Id });
modelBuilder.Entity<User>().Property(p => p.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
modelBuilder.Entity()
.HasKey(p=>new{p.Id});
modelBuilder.Entity().Property(p=>p.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
你能分享你的整个用户模型吗?是的,我编辑了这篇文章
public class User
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required]
[MaxLength(30)]
public string Username { get; set; }
[Required]
[MaxLength(30)]
public string Password { get; set; }
public List<Note> Notes { get; set; }
public User(string username, string password)
{
this.Username = username;
this.Password = password;
}
}
modelBuilder.Entity<User>()
.HasKey(p => new { p.Id });
modelBuilder.Entity<User>().Property(p => p.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);