【发布时间】:2017-05-26 15:33:17
【问题描述】:
我正在使用 Entity Framework 和 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
但这没有奏效。
如何使 UserCustomerID 列自动递增,作为键列?
【问题讨论】:
标签: c# entity-framework unique data-annotations