• Entity Framework Code First级联删除


    如果我们要到一对主从表增加级联删除,则要在主表中的引用属性上增加Required关键字,如:

    复制代码
     public class Destination
        {
            public int DestinationId { get; set; }
            public string Name { get; set; }
            public string Country { get; set; }
            public string Description { get; set; }
            public byte[] Photo { get; set; }
            public List<Lodging> Lodgings { get; set; }
        }
    
        public class Lodging
        {
            public int LodgingId { get; set; }
            public string Name { get; set; }
            public string Owner { get; set; }
            public bool IsResort { get; set; }
            public decimal MilesFromNearestAirport { get; set; }
            [Required]
            public Destination Destination { get; set; }
        } 
    复制代码

    可以看到,在生成的数据库中,外键应用了级联删除规则

    使用Fluent API:

    modelBuilder.Entity<Lodging>().HasRequired(l => l.Destination).WithMany(d => d.Lodgings).WillCascadeOnDelete(true);

     相对应的,如果要关闭级联功能则为:

    modelBuilder.Entity<Lodging>().HasRequired(l => l.Destination).WithMany(d => d.Lodgings).WillCascadeOnDelete(false);
    如果我的文章对你有帮助,就点一下推荐吧.(*^__^*)
  • 相关阅读:
    windows上设置代理
    docker 代理
    windbg随笔
    win10自带ssh server使用
    centos7 最小安装后,编译配置redsocks
    cef chromium 编译
    C++中的单例模式
    delete NULL
    音视频通讯能力提供商
    云视频会议解决方案
  • 原文地址:https://www.cnblogs.com/Alex80/p/5496784.html
Copyright © 2020-2023  润新知