我有一个名为Sale的类
public class Sale
{
public int Id { get; set; }
public string TrNo { get; set; }
public DateTime Date { get; set; }
public int CustomerID { get; set; }
public ObservableCollection<SaleDetail> SaleDetails { get; set; }
}
在数据库中,我希望Id
作为Auto Increment
列,TrNo
作为Primary Key
列。
请先告诉我如何使用EF5代码完成此操作。
谢谢。
发布于 2016-11-11 18:37:21
显然@IronMan84的answer是正确的。但它对我不起作用。我稍微修改了一下,以应用我的另一个条件。而且它起作用了。我什么也没做。
这是我的解决方案。
public class Sale
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Key, Column(TypeName = "varchar"), MaxLength(50)]
public string TrNo { get; set; }
public DateTime Date { get; set; }
public int CustomerID { get; set; }
public ObservableCollection<SaleDetail> SaleDetails { get; set; }
}
不幸的是,我不能让@IronMan84的答案正确,因为它对我不起作用。
发布于 2013-01-31 04:24:23
您也可以使用数据注释来执行此操作:
public class Sale
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Key]
public string TrNo { get; set; }
public DateTime Date { get; set; }
public int CustomerID { get; set; }
public ObservableCollection<SaleDetail> SaleDetails { get; set; }
}
发布于 2013-01-31 04:21:14
我相信您可以使用Fluent API来完成此操作。
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Sale>().Property(a => a.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
modelBuilder.Entity<Sale>().Property(a => a.TrNo).HasKey(b => b.TrNo);
}
https://stackoverflow.com/questions/14612813
复制相似问题