当前位置: 首页 > news >正文

摄影师网站网站建设和后台空间管理关系

摄影师网站,网站建设和后台空间管理关系,ppt模板免费下载第一ppt,二级学院网站制度建设文章目录 EF更新和插入时如何忽略更新导航属性级联删除删除主体/父实体断开关系配置级联行为 来源 EF更新和插入时如何忽略更新导航属性 使用Ignore方法#xff1a; modelBuilder.EntityBlog().Ignore(b b.Posts);使用HasNoKey方法#xff1a; modelBuilder.… 文章目录 EF更新和插入时如何忽略更新导航属性级联删除删除主体/父实体断开关系配置级联行为 来源 EF更新和插入时如何忽略更新导航属性 使用Ignore方法 modelBuilder.EntityBlog().Ignore(b b.Posts);使用HasNoKey方法 modelBuilder.EntityBlog().HasNoKey();使用HasNoNavigation方法 modelBuilder.EntityBlog().HasNoNavigation(b b.Posts);使用HasNoRelationship方法 modelBuilder.EntityBlog().HasNoRelationship(b b.Posts);级联删除 删除主体/父实体 请考虑此简单模型其中 Blog 是与 Post依赖实体/子实体的关系中的主体/父实体。 Post.BlogId 是一个外键属性其值必须与该文章所属博客中的 Blog.Id 主键匹配。 public class Blog {public int Id { get; set; }public string Name { get; set; }public IListPost Posts { get; } new ListPost(); }public class Post {public int Id { get; set; }public string Title { get; set; }public string Content { get; set; }public int BlogId { get; set; }public Blog Blog { get; set; } }按照约定由于 Post.BlogId 外键属性是不可为 null 的因此该关系被配置为必需的。 默认情况下所需的关系配置为使用级联删除。 要详细了解建模关系请参阅关系。 删除博客时所有文章都将被级联删除。 例如 using var context new BlogsContext();var blog context.Blogs.OrderBy(e e.Name).Include(e e.Posts).First();context.Remove(blog);context.SaveChanges();SaveChanges 以 SQL Server 为例生成以下 SQL -- Executed DbCommand (1ms) [Parameters[p01], CommandTypeText, CommandTimeout30] SET NOCOUNT ON; DELETE FROM [Posts] WHERE [Id] p0; SELECT ROWCOUNT;-- Executed DbCommand (0ms) [Parameters[p02], CommandTypeText, CommandTimeout30] SET NOCOUNT ON; DELETE FROM [Posts] WHERE [Id] p0; SELECT ROWCOUNT;-- Executed DbCommand (2ms) [Parameters[p11], CommandTypeText, CommandTimeout30] SET NOCOUNT ON; DELETE FROM [Blogs] WHERE [Id] p1; SELECT ROWCOUNT;断开关系 我们不会删除博客而是断开每篇文章与其博客之间的关系。 为此可将每篇文章的引用导航 Post.Blog 设置为 null using var context new BlogsContext();var blog context.Blogs.OrderBy(e e.Name).Include(e e.Posts).First();foreach (var post in blog.Posts) {post.Blog null; }context.SaveChanges();还可通过从 Blog.Posts 集合导航中删除每篇文章内容来断开关系 using var context new BlogsContext();var blog context.Blogs.OrderBy(e e.Name).Include(e e.Posts).First();blog.Posts.Clear();context.SaveChanges();无论哪种情况结果都一样没有删除博客但是删除了不再与任何博客关联的文章 -- Executed DbCommand (1ms) [Parameters[p01], CommandTypeText, CommandTimeout30] SET NOCOUNT ON; DELETE FROM [Posts] WHERE [Id] p0; SELECT ROWCOUNT;-- Executed DbCommand (0ms) [Parameters[p02], CommandTypeText, CommandTimeout30] SET NOCOUNT ON; DELETE FROM [Posts] WHERE [Id] p0; SELECT ROWCOUNT;删除不再与任何主体/依赖实体关联的实体这一行为被称作“删除孤立项”。 级联删除和删除孤立项是密切相关的。 当断开与所需的主体/父实体之间的关系时两者都将导致删除依赖实体/子实体。 对于级联删除由于主体/父实体本身已删除因此发生了这种断开。 对于孤立项主体/父实体仍然存在但不再与依赖实体/子实体相关。 配置级联行为 使用 OnModelCreating 中的 OnDelete 方法按关系配置级联行为。 例如 protected override void OnModelCreating(ModelBuilder modelBuilder) {modelBuilder.EntityBlog().HasOne(e e.Owner).WithOne(e e.OwnedBlog).OnDelete(DeleteBehavior.ClientCascade); }OnDelete 从公认地令人混淆的 DeleteBehavior 枚举中接受一个值。 该枚举既定义了 EF Core 在跟踪实体上的行为又定义了使用 EF 创建架构时数据库中级联删除的配置。 来源 EF更新和插入时如何忽略更新导航属性 级联删除
http://www.w-s-a.com/news/358267/

相关文章:

  • 做网站开发能挣钱月嫂云商城网站建设
  • 包装网站模板新手入门网站建设
  • 做网站的天津哪个公司做网站
  • 网站建设摊销时间是多久微信官网免费下载安装
  • 网站解析是做a记录吗群晖 wordpress 阿里云
  • 涉县移动网站建设公司常州做网站的公司有哪些
  • 网站批量创建程序中国十大人力资源公司
  • 菏泽网站建设 梧桐树二次开发创造作用
  • 维护网站费用长沙广告设计公司排名
  • 模仿别人网站侵权wordpress 修改链接失效
  • wordpress文章设置受密码保护南宁网站优化公司哪家好
  • 网站开发工程师介绍设计类的网站
  • 嘉兴seo网站推广中山建网站多少钱
  • 高端汽车网站建设帮别人做网站自己为什么会被抓
  • 网站开发实验室建设方案wordpress 主题丢失
  • 珠宝网站建设平台分析报告郑州最新发布
  • 世界杯最新排名泉州seo网站关键词优
  • 广州公司网站提供如何推广新品
  • 网站建设如何描述沈阳网站建设推广平台
  • 用dw制作个介绍家乡网站学生个人简历
  • 建设银行企业网站访问不了wordpress搬到谷歌服务器
  • 网站建设与网站优化销售别墅庭院园林景观设计公司
  • 沈阳红方城网站建设专业的微网站哪家好
  • 医院网站asp东营信息发布平台
  • 网站全站建设开题报告范文南京本地网站
  • 网站漏洞扫描工具wampserver集成环境搭建了一个织梦cms网站
  • 如何在局域网上做网站宁波设计公司排行榜
  • 自己的电脑做网站服务器吗百度搜索风云榜总榜
  • 做化妆品的一些网站企业网站建设与营运计划书
  • 重庆速代网络科技seo整站优化服务教程