我有一个地址模型,它适用于我系统中的所有模型,如下所示:
class Person
{
public IList<PersonAddress> PersonAddresses { get; set; }
public Person()
{
PersonAddresses = new List<PersonAddress>();
}
}
class PersonAddress
{
public int PersonId { get; set; }
public Person Person { get; set; }
public int AddressId { get; set; }
public Address Address { get; set; }
}
class Address
{
//...
}
在OnModelCreating中:
builder.Entity<PersonAddress>()
.HasKey(pa => new { pa.PersonId, pa.AddressId });
它的工作非常好!我唯一的问题是关于级联删除。如何设置此方案:
目前我看到删除Person会删除Person地址(但不会删除相关地址)。
我并不是在抱怨这种行为,但我不清楚如何进行设置,以便根据需要自动级联删除实体,或者是否需要手动执行删除。
感谢您的时间!
将WillCascadeOnDelete(true)
或WillCascadeOnDelete(false)
扩展与fluent api一起使用。
builder.Entity<PersonAddress>()
.HasKey(pa => new { pa.PersonId, pa.AddressId })
.WillCascadeOnDelete(true);
我有一个使用ef核心代码优先方法构建的项目的审计机制。我已经在“OnModelCreating”函数中为一些表设置了“deleteBhavior”属性以级联。当我删除一个实体时,另一个实体会通过级联删除行为自动删除。现在一切都很好,我需要获取所有已删除的实体,但我不能。ChangeTracker不包含级联删除的实体。如何获取级联删除的值?有没有办法做到这一点?
我目前对EF Core有一些问题。我有一些需要删除的数据,我正在努力查看流畅的API是如何工作的,正是关于函数。 考虑到微软自己网站的经典博客/帖子场景,我想知道到底是什么实体,OnDelete()是“目标”(因为没有更好的词),在某些情况下,它似乎是博客,在另一些情况下,是帖子。是否可以从两侧定义级联删除(即当父博客被删除时,帖子被删除),如果是这样,我认为代码应该如下所示: <代码>模型。实体
我需要了解全局禁用EF Core 2中级联删除的方法。感谢您的帮助。 在EF 6. x中,我们使用以下代码来禁用和实现上的级联删除:
我的问题和这个差不多。 ASP。Net Core与EF Core和CosmosDB-身份问题 提供的答案不起作用。这会产生其他问题。当我从升级我的应用程序时,这些错误开始出现。NET Core 3.1 to。净5。降级应用程序使所有错误都消失了。显然,这个问题与efcore 5中引入的对cosmos的乐观并发支持有关。 https://docs.microsoft.com/en-us/ef/cor
升级核心3.0后,无法在包管理器中添加迁移。这是我的错误
SQLAlchemy 1.4 / 2.0 Tutorial 此页是 SQLAlchemy 1.4/2.0教程 。 上一次: 使用核心或ORM选择行 |下一步: |next| 使用核心更新和删除行 到目前为止,我们已经讨论过 Insert ,这样我们就可以将一些数据放入我们的数据库中,然后花费大量时间在 Select 其处理用于从数据库检索数据的广泛的使用模式。在本节中,我们将介绍 Update 和