更新复合主键 EF 6.0

时间:2021-03-12 10:06:19

标签: c# entity-framework

我有一个包含复合主键的表,如下所示

[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 中是不可能的吗?

谢谢

0 个答案:

没有答案