zoukankan      html  css  js  c++  java
  • Entity Framework Code First级联删除

    使用Data Annotations:

    如果我们要到一对主从表增加级联删除,则要在主表中的引用属性上增加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);
    如果我的文章对你有帮助,就点一下推荐吧.(*^__^*)
  • 相关阅读:
    3 聊天室
    freemaker分页模板
    [三]ajax重要属性
    [二]java运行原理
    [转]freemaker格式化日期
    [二]SpringMvc实践-注解
    win7下禁用ctrl alt del +上下左右键
    [一]初识SpringMVC
    Powerdesigner设置name与code不同时变化
    Ubuntu下缓冲器溢出攻击实验(可以看看问题分析)
  • 原文地址:https://www.cnblogs.com/Alex80/p/6421953.html
Copyright © 2011-2022 走看看