微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Asp.net core 通过 modelBuilder.Entity<DependenciaDisciplina>().Property<bool>("isDeleted"); 添加软删除但作为复合键被删除

如何解决Asp.net core 通过 modelBuilder.Entity<DependenciaDisciplina>().Property<bool>("isDeleted"); 添加软删除但作为复合键被删除

我插入软删除标志

modelBuilder.Entity<Dependenciadisciplina>().Property<bool>("isDeleted");

但我需要将其添加为复合键

有人可以帮我吗?

解决方法

我插入软删除标志

modelBuilder.Entity<DependenciaDisciplina>().Property<bool>("isDeleted");

但我需要将其添加为复合键

set the Composite Keys使用 Fluent API,我们必须使用 HasKey() 方法。

查看HasKey()方法定义后,我们可以看到参数应该是字符串数组或表达式。

enter image description here

因此,您可以像这样使用设置复合键(将 Car 模型更改为您的模型):

 modelBuilder.Entity<Car>().Property<bool>("isDeleted"); 
 modelBuilder.Entity<Car>().HasKey(new string[] { "CarId","isDeleted" });

汽车模型:

public class Car
{
    [Key]
    public int CarId { get; set; }
    public string CarName { get; set; }
    public string LicensePlate { get; set; } 
    public string Make { get; set; }
    public string Model { get; set; }
}

然后,迁移之后,结果是这样的:

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。