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

作网站网站免备案空间

作网站,网站免备案空间,网站描述多个词怎么分隔,滨州网站建设hskj360文章目录 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.hkea.cn/news/14568389/

相关文章:

  • 建设银行网站的特点网上学电脑培训中心
  • 小型企业网站设计点击器 百度网盘
  • 建立电子商务网站合肥做淘宝网站推广
  • 网站做动态图片大全北京城乡建设门户网站
  • 建设免费网站麦云短链接
  • 建网站要多少费用wordpress创建主题面板
  • 网站建设找什么公司好大连网络营销公司排名
  • asp.net做的音乐网站wordpress 添加导航栏
  • 网站设计内容包括在线制作结婚证
  • 专门做网页设计网站上海官网网址
  • wordpress 网站很卡网站建站代理
  • 北京建设教育协会官方网站app程序制作
  • wordpress子站共享用户名上海网站建设报价
  • 网站开发语言学习C 吗模块化网站开发
  • 周浦网络网站建设公司做网站ui设计多少钱
  • 火车头 wordpress 4.3如何优化推广中的关键词
  • python做软件的网站网站开发需要掌握的哪些开发软件
  • 上海十大网站排名最成功的个人网站
  • 电商网站建设布局盐城网络
  • 北大学风建设网站wordpress 流程图插件
  • 服务号不认证可做微网站吗wordpress 课程管理系统
  • 网站怎么更改域名wordpress 自动链接
  • 辅助教学网站开发技术讨论如何编辑wordpress
  • 医院网站php源码wordpress分类显示图片
  • 找人做ps的网站医疗器械查询
  • 网站开发工程师岗位职责wordpress 页面显示分类文章列表
  • 西安商城网站建设咪豆网站建设得要素
  • 重庆 网站设计关于网站建设请示
  • 深圳专业的网站制作公司淘宝网站建设方案
  • 网站的底部导航怎么做免费网站在线观看人数在哪