entity framework代码首先使用一列作为主键,另一列作为自动增量列
我有一个名为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 SaleDetails { get; set; } }
在数据库中,我想将Id
作为Auto Increment
列,将TrNo
作为Primary Key
列。
请先告诉我如何使用EF5代码执行此操作。
谢谢。
您也可以使用数据注释执行此操作:
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 SaleDetails { get; set; } }
我相信你可以使用Fluent API来做到这一点
protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity().Property(a => a.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity); modelBuilder.Entity ().Property(a => a.TrNo).HasKey(b => b.TrNo); }
显然@ IronMan84的答案是正确的。 但它对我不起作用。 我略微修改它以应用我的另一个条件。 它奏效了。 我什么也没做。
这是我的解决方案。
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 SaleDetails { get; set; } }
不幸的是,我无法将@ IronMan84的答案作为正确答案,因为它对我不起作用。
这对我有所帮助。 希望这能帮助仍在环顾四周的其他人
上述就是C#学习教程:entity framework代码首先使用一列作为主键,另一列作为自动增量列分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
public class Sale { [DatabaseGenerated(DatabaseGeneratedOption.Identity)]//switch on autogenerated public int Id { get; set; } [Key]//set as Primary key [DatabaseGenerated(DatabaseGeneratedOption.None)]// switch off autogenerated PK public string TrNo { get; set; } public DateTime Date { get; set; } public int CustomerID { get; set; } public ObservableCollection SaleDetails { get; set; } }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1030338.html