相关疑难解决方法(0)

级联软删除

SQL总是有一个很棒的功能:级联删除.你事先计划好,什么时候删除东西,BAM!无需担心所有这些依赖记录.

但是,现在实际上删除任何东西几乎都是禁忌.您将其标记为已删除并停止显示.不幸的是,当存在依赖记录时,我无法找到可靠的解决方案.我总是手动编写复杂的软删除网络.

那里有一个我完全错过的更好的解决方案吗?

sql soft-delete

18
推荐指数
3
解决办法
4626
查看次数

实体框架6:代码优先级联删除

所以这里有几个类似的问题,但我仍然有问题确定我在简化场景中究竟缺少了什么.

假设我有以下表格,巧妙地以自己的名字命名:

'JohnsParentTable' (Id, Description) 
'JohnsChildTable' (Id, JohnsParentTableId, Description)
Run Code Online (Sandbox Code Playgroud)

结果类看起来像这样

public class JohnsParentTable
{
    public int Id { get; set; }
    public string Description { get; set; }
    public virtual ICollection<JohnsChildTable> JohnsChildTable { get; set; }

    public JohnsParentTable()
    {
        JohnsChildTable = new List<JohnsChildTable>();
    }
}

internal class JohnsParentTableConfiguration : EntityTypeConfiguration<JohnsParentTable>
{
    public JohnsParentTableConfiguration()
    {
        ToTable("dbo.JohnsParentTable");
        HasKey(x => x.Id);
        Property(x => x.Id).HasColumnName("Id").IsRequired().HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
        Property(x => x.Description).HasColumnName("Description").IsRequired().HasMaxLength(50);
    }
}

public class JohnsChildTable
{
    public int Id { get; set; }
    public string Description …
Run Code Online (Sandbox Code Playgroud)

c# sql entity-framework entity-framework-6

14
推荐指数
2
解决办法
3万
查看次数