我正在使用实体框架和VS 2015进行MVC项目。
到目前为止,它已经奏效了。现在我已经制作了一个关系表实体来链接两个表,但我无法让键列自动递增。正是因为我不想删除现有表中的某些约束,所以我选择创建一个单独的实体。
它看起来像这样:
public class UserCustomer
{
[Key]
public int UserCustomerID { get; set; }
[Index("IX_UserAndCustomer", 1, IsUnique = true)]
public int UserID { get; set; }
[Index("IX_UserAndCustomer", 2, IsUnique = true)]
public int CustomerID { get; set; }
public DateTime CreatedDate { get; set; }
public UserCustomer()
{
CreatedDate = DateTime.Now;
}
}
键列不会自动递增。
例如,我尝试过Fluent API:
//modelBuilder.Entity<UserCustomer>()
// .HasKey(u => new { u.CustomerID, u.UserID }); //26 maj -17
//modelBuilder.Entity<UserCustomer>()
//.Property(f => f.UserCustomerID)
//.ValueGeneratedOnAdd();
//modelBuilder.Entity<UserCustomer>()
// .Property(c => c.UserCustomerID)
// .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);//TYY Stack Overflow
但这并没有奏效。
如何使用户客户 ID 列作为键列自动递增?
如果我正确理解你的问题,你只需要 DatabaseGenerated Attribue:
public class UserCustomer
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int UserCustomerID { get; set; }
}