See*_*ake 28 c# entity-framework ef-code-first
我有一个名为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; }
}
Run Code Online (Sandbox Code Playgroud)
在数据库中,我希望Id将Auto Increment列作为列,而TrNo将Primary Key列作为列.
请先告诉我如何使用EF5代码执行此操作.
谢谢.
Iro*_*n84 45
您也可以使用数据注释执行此操作:
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; }
}
Run Code Online (Sandbox Code Playgroud)
Jak*_*ake 17
我相信你可以使用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);
}
Run Code Online (Sandbox Code Playgroud)
显然,@ 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<SaleDetail> SaleDetails { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,我无法将@ IronMan84作为正确的答案,因为它对我不起作用。
小智 5
这对我有帮助。希望这对仍在四处寻找的其他人有所帮助
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<SaleDetail> SaleDetails { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
63809 次 |
| 最近记录: |