实体框架一对一流畅 API 无法删除数据
本文关键字:删除 数据 API 框架 一对一 实体 | 更新日期: 2023-09-27 18:34:09
这是模型中的礼物类。这应该是父类。
public class Gift
{
public int GiftId { get; set; }
public string Title { get; set; }
public string Brand { get; set; }
public double Price { get; set; }
public bool Chosen { get; set; }
public virtual Shop Shop { get; set; }
public virtual Person Person { get; set; }
}
这就是商店类,这两者有一对一的关系。礼品有店,店也该有礼品。
public class Shop
{
public int ShopId { get; set; }
public string Name { get; set; }
public string Street { get; set; }
public string Number { get; set; }
public string Postcode { get; set; }
public string District { get; set; }
public virtual Gift Gift { get; set; }
}
这是我模型中的第三类。此类与礼品类的关系为 1 到零。如果没有选择礼物,它就没有任何人。对这个人也一样。
public class Person
{
public int Id { get; set; }
public string FirstName{ get; set; }
public string Surname{ get; set; }
public string EmailAdress { get; set; }
public virtual Gift Gift { get; set; }
}
这是我多次更改的流畅 api。
modelBuilder.Entity<Gift>()
.HasOptional(x => x.Person);
modelBuilder.Entity<Person>()
.HasRequired(x => x.Gift);
modelBuilder.Entity<Gift>()
.HasRequired(x => x.Shop).WithOptional(x => x.Gift).Map(x => x.MapKey("ShopId"));
modelBuilder.Entity<Shop>()
.HasRequired(x => x.Gift).WithOptional(x => x.Shop).Map(x => x.MapKey("GiftId"));
我可以保存数据,但是当我想删除礼物时,我无法成功并且遇到问题。我该如何解决这个问题?已经谢谢了!
我已经修复了它。这是链接
modelBuilder.Entity<Shop>()
.HasRequired(x => x.Gift)
.WithRequiredDependent();
modelBuilder.Entity<Gift>()
.HasRequired(x => x.Shop)
.WithRequiredPrincipal();
base.OnModelCreating(modelBuilder);