c# - Entity Framework 代码优先使用一列作为主键,另一列作为自增列

标签 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; }
}

在数据库中,我希望将 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<SaleDetail> SaleDetails { get; set; }
}

关于c# - Entity Framework 代码优先使用一列作为主键,另一列作为自增列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14612813/

相关文章:

c# - 带隧道到 MySQL 的 EF (C#) - 优化数据库调用

entity-framework - 为什么 SET IDENTITY_INSERT OFF 在 EF 4.1 中对我不起作用?

sql-server-2008 - EF 4.1 Code-First 项目上的 Mvc-Mini-Profiler v1.7 不分析 SQL

C# Roslyn 编译器 - 如何从 IdentifierNameSyntax 获取类型的命名空间?

c# - 无法将值 NULL 插入 EF 6.1.3 中的列

c# - EF Code First 多对多关系 - 将重复记录插入数据库

asp.net-mvc - 代码首次迁移 : read sql from file

c# - ASP NET CORE 无法使用现有的 DbContext 搭建 Identity - 如何在搭建时指定选项?

c# - Listview.count - InvalidArgument= '0' 的值对于“索引”无效

c# - 从路径列表填充 TreeView