我有一个包含复合主键的表,如下所示
[Table("REQUEST_DATA")]
public class RequestData
{
public RequestData()
{
RequestDataMapping = new HashSet<RequestDataMapping>();
}
[Key]
[Column(Order = 0)]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int UserId{ get; set; }
[Key]
[Column(Order = 1)]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int RequestId { get; set; }
public virtual UserProfile UserProfile { get; set; }
public virtual Staff Staff { get; set; }
public virtual ICollection<RequestDataMapping> RequestDataMapping { get; set; }
}
我想删除“UserId”列并将主要组合更改为仅包含 RequestId 列。
当我从 EF 类中删除 then 并生成迁移脚本时。我看到从 RequestDataMapping 表中删除了一个列,并向我的 RequestData 表中添加了一个列。
我也没有通过 fluentAPI 指定 RequestDataMapping 表和 RequestData 之间的任何映射。
我首先使用 EF 代码。
我做错了什么,或者在 EF 中是不可能的吗?
谢谢