c# - Entity Framework Core 2.0 自动增量和主键映射

标签 c# entity-framework-core asp.net-core-2.0

我正在努力将数据库优先项目转换为代码优先项目。

我有以下类(class)并且我正在使用 EF Core 2.0:

public class WorkUser
{
    public int WorkUserId { get; set; }

    public int UserId { get; set; }
}

我尝试了以下方法,不确定是否正确。

public class WorkUser
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int WorkUserId { get; set; }

    [Key]
    public int UserId { get; set; }
}

我希望将 WorkUserId 作为自动增量属性,并将 UserId 作为主键。 UserId 值来自另一个表。所以希望这是主键但没有自动增量。

如何实现?

最佳答案

以下工作如我所料:

public class WorkUser
{
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int WorkUserId { get; set; }

        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.None)]
        public int UserId { get; set; }
}

关于c# - Entity Framework Core 2.0 自动增量和主键映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48185367/

相关文章:

c# - AxAcroPDFlib 引用

c# - LINQ to SQL 连接两个表以根据子表中的两个不同列选择父表两次

c# - API 调用获取记录后更新数据的最佳方式

asp.net-core - 如何解决 ASP.NET Core 2.0 应用程序 EF Core 使用中的大量内存分配问题?

c# - asp.net core - 如何将变量从 Controller 传递到过滤器

asp.net-core - 使用 AspNet Core 2.0 进行 Google JWT 身份验证

c# - 了解 CultureInvariant 和 IgnoreCase 在 [A-Za-z] 上的后果

c# - WPF 中的多键绑定(bind)

c# - ASP.NET 5 MVC 6 通用存储库模式

linq - 如何使用 LINQ 连接子查询