zoukankan      html  css  js  c++  java
  • CodeFirst 关系创建——Fluent API配置多重关系,关闭级联删除的方法

    多重性关系可以是Optional(一个属性可拥有一个单个实例或没有

    Required(一个属性必须拥有一个单个实例

    Many很多的(一个属性可以拥有一个集合或一个单个实例)。

    Has方法包括如下几个:

    • HasOptional

    • HasRequired

    • HasMany

    在多数情况还需要在Has方法后面跟随如下With方法之一:

    • WithOptional

    • WithRequired

    • WithMany

    一对多

    modelBuilder.Entity<Destination>()
    .HasMany(d => d.Lodgings)
    .WithOptional(l => l.Destination);

    Destination一对多或零对多Lodging

    如果将WithOptional改成WithRequired  这将使Lodgings必须对应一个Destination,如果删除Destination将级联删除Lodgings 详细>>

    关闭级联删除的方法:

    现在你可以设置此关系的WillCascadeOnDelete为false:

    HasRequired(l=>l.Destination)

    .WithMany(d=>d.Lodgings)

    .WillCascadeOnDelete(false)

    一对一

    modelBuilder.Entity<PersonPhoto>()

    .HasRequired(p => p.PhotoOf)

    .WithOptional(p => p.Photo);

    PersonPhoto一对零或一对一Photo

    多对多关系

    modelBuilder.Entity<Destination>()

    .HasMany(d => d.Lodgings)

    .WithRequired()

    .HasForeignKey(l => l.LocationId);

    Destination多对多Lodging

    多对多的关系语法让我比较费解。求高手解释一下

  • 相关阅读:
    操作符详解(思维导图)
    数组(C语言、思维导图)
    函数(C语言、思维导图)
    分支语句与循环语句(知识点思维导图)
    单链表及其基本操作
    顺序表
    时间复杂度与空间复杂度
    javascript基础知识show
    Java中的四舍五入
    JavaScript中数组迭代方法(jquery)
  • 原文地址:https://www.cnblogs.com/lxiang/p/2479079.html
Copyright © 2011-2022 走看看