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

Castle ActiveRecord的一对多问题

如果有表Blog和Posts之间有一对多关系,那么如果二者关系对应外键属性代码如下所示:

        //一对多的一方添加以下字段和属性
        private IList<Post> posts=new List<Post>();
        [HasMany(Table="Posts", ColumnKey="blogid", Inverse=true, Cascade=ManyRelationCascadeEnum.AllDeleteOrphan)]
        public IList<Post> Posts
        {
            get { return posts=new List<Post>(); }
            set { posts=value; }
        }
则在使用以下代码时
            Blog blog = Blog.Find(1);//Blog表中有Id值为1的记录

会引发未处理的异常:

 HibernateException

详细信息为:

A collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance: ActiveRecordDemo.Blog.Posts
 

如果把Blog中的外键关系属性代码改为:

        //一对多的一方添加以下字段和属性
        private IList<Post> posts=new List<Post>();
        [HasMany(Table="Posts", ColumnKey="blogid", Inverse=true, Cascade=ManyRelationCascadeEnum.All)]
        public IList<Post> Posts
        {
            get { return posts=new List<Post>(); }
            set { posts=value; }
        }
 则
Blog blog = Blog.Find(1);

并不会引发异常。

 

此外,Blog实例中有属性:posts,此属性应对应Blog实例的子表中记录实体,但实际却为空(此时子表posts中有对应的子记录) ,不知如何得到子记录并存放在属性posts中。

转载于:https://www.cnblogs.com/Rising/archive/2012/02/27/2370557.html

相关文章:

  • syntax error near unexpected token `then'
  • flex和javascript互相调用的一个例子
  • JSTL SQL标签库 使用
  • 数据结构--二叉树 的先序,中序,后序遍历
  • Directx11 教程(2) 基本的windows应用程序框架(2)
  • 多播_1
  • 【数据结构】排序算法(二)之交换排序之快速排序(QuickSort)
  • 批量缩小图片的方法
  • 精分神作さよならを教えて全解析
  • 在使用VC++6.0常见问题“Error spawning cl.exe”的解决方法
  • 说实话网络不通的2天是我2010年工作效率最高的2天
  • 如何构建LAMP
  • 冯小刚微博力挺×××标惹热议 称掏钱救人最实际
  • 安全事,人人事
  • 访客IP API接口
  • Apache Zeppelin在Apache Trafodion上的可视化
  • Hibernate最全面试题
  • JavaScript HTML DOM
  • JavaScript 基本功--面试宝典
  • Linux Process Manage
  • linux学习笔记
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • 从输入URL到页面加载发生了什么
  • 分享几个不错的工具
  • - 概述 - 《设计模式(极简c++版)》
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • MPAndroidChart 教程:Y轴 YAxis
  • ​马来语翻译中文去哪比较好?
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • #《AI中文版》V3 第 1 章 概述
  • #HarmonyOS:软件安装window和mac预览Hello World
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (三)模仿学习-Action数据的模仿
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (一)认识微服务
  • (转)ABI是什么
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .net下简单快捷的数值高低位切换
  • .py文件应该怎样打开?
  • @configuration注解_2w字长文给你讲透了配置类为什么要添加 @Configuration注解
  • @test注解_Spring 自定义注解你了解过吗?
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)
  • [ 蓝桥杯Web真题 ]-布局切换
  • [100天算法】-目标和(day 79)
  • [⑧ADRV902x]: Digital Pre-Distortion (DPD)学习笔记
  • [AR]Vumark(下一代条形码)
  • [C++]C++基础知识概述
  • [C++基础]-入门知识
  • [corCTF 2022] CoRJail: From Null Byte Overflow To Docker Escape
  • [CTO札记]如何测试用户接受度?
  • [DNS网络] 网页无法打开、显示不全、加载卡顿缓慢 | 解决方案
  • [ERROR] 不再支持目标选项 5。请使用 7 或更高版本