【发布时间】:2018-06-19 12:03:00
【问题描述】:
我正在将数据库优先项目转换为代码优先项目。
我有以下课程,我正在使用 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 值来自另一个表。所以希望这是主键但没有自动增量。
如何做到这一点?
【问题讨论】:
-
你真的试过你的代码吗?它会产生什么?
-
什么是
BaseEntity?你有问题吗,如果有,是什么问题?现在,这不是一个真正的问题。 -
此should work as you expect,但您需要确保将
UserId设置为有效的唯一值。如果此表具有多对多关系,您将需要由UserId和WorkUserId组成的a composite key(即添加一个Key属性和一个带有Order属性的Column属性.) -
@Zhaph-BenDuguid 谢谢。这个表不会有多对多的关系。
-
@DavidG 我已通过删除基础实体进行了更新。
标签: c# entity-framework-core asp.net-core-2.0