使用EntityFramwork[6.1]进行级联保存的时候出现异常

时间:2022-12-18 12:35:39

出现的异常:System.InvalidOperationException: Multiplicity constraint violated. The role 'IncomeItem_CreateBy_Source' of the relationship 'FamilyFinancial.Infrastructure.Repository.IncomeItem_CreateBy' has multiplicity 1 or 0..1

大体意思就是:违反了多重性约束,出现的属性是CreateBy;

实体设计如下图所示:

MonthIncome属于聚合根实体:

使用EntityFramwork[6.1]进行级联保存的时候出现异常

它有一个IncomeItem实体集合:

使用EntityFramwork[6.1]进行级联保存的时候出现异常

使用FluentAPI进行映射(异常解决前):

使用EntityFramwork[6.1]进行级联保存的时候出现异常

通过此配置生成的数据库的关系是没有问题的,但是执行到 context.Set<T>().Add(entity)方法时就出现上述异常;折腾许久,找到一个方法可以解决该问题,如下图:

使用EntityFramwork[6.1]进行级联保存的时候出现异常

更改了配置以后问题解决了。虽然问题解决了,但是自己还是不明白为何以前的配置却不行,如果有人知晓,请告知一二,不甚感激!

PS:还有一个小问题,从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值;

对于这个异常, 是因为数据过大引起的。只需将数据库中的datetime字段的类型改成datetime2即可解决;

但是程序中使用的DateTime.Now来进行赋值的,按理说是不应该出现这样的问题啊。而且,似乎以前在做项目的时候也有用到时间属性字段,保存也没有出问题。不知道是何原因~~~

使用EntityFramwork[6.1]进行级联保存的时候出现异常的更多相关文章

  1. Hibernate入门&lpar;八&rpar;级联保存或更新&lpar;含问题在末尾,求大佬指点&period;&period;&rpar;

    级联保存或更新CASCADE 级联保存或更新: 作用就是:保存一方的数据的时候,会把关联的对象也同时保存. 级联保存或更新的配置: 属性名:cascade 属性值: 1.none:所有情况下均不进行关 ...

  2. (原创)Hibernate 使用过程中(尤其是多对多关联中的级联保存和级联删除)的注意事项(基于项目的总结)

    一.先上知识点: 1.hibernate多对多关联关系中最重要的参数是(基于配置文件xxx.hbm.xml文件形式): 1):inverse属性,如果设置inverse=“true”就代表让对方参与维 ...

  3. 【JPA 级联保存&sol;级联删除】&commat;OneToMany (双向) 一对多【转】

    [http://blog.sina.com.cn/s/blog_625d79410101dbdd.html]   看过前两篇帮助文档 [JPA] @OneToOne 单向 和 [JPA]@OneToO ...

  4. Hibernate中表与表之间的关联多对多,级联保存,级联删除

    第一步:创建两个实体类:用户和角色实体类,多对多关系,并让两个实体类之间互相关联: 用户实体类: package com.yinfu.entity; import java.util.HashSet; ...

  5. Hibernate中表与表之间的关联一对多,级联保存和级联删除

    1:Hibernate的一对多操作(重点) 一对多映射配置 第一步:创建两个实体类:客户和联系人(例)以客户为一,联系人为多: package com.yinfu.entity; public cla ...

  6. Hibernate的级联保存、级联删除

    级联操作: 属性:cascade 值:save-update(级联保存) delete(级联删除) all(级联保存+级联删除) 优点:虽然,不用级联操作也能解决问题.但是级联操作可以减少代码量,使得 ...

  7. hibernate 一对多 级联 保存修改 删除

    一对多,一端设置: <set name="TWorkorderHistories" inverse="true" cascade="all&qu ...

  8. hibernate级联保存,更新个人遇到的问题

    在级联更新的时候,数据库中的数据是增加的,只是外键不存在,导致这样的问题产生的原因是,字表主键ID没有添加到集合中,导致Hibernate找不到子项而执行更新.

  9. hibernate级联保存问题,出错not-null property references a null or transient value

    Servlet.service() for servlet default threw exception org.hibernate.PropertyValueException: not-null ...

随机推荐

  1. Bootstrap CSS 表单

    表单布局 Bootstrap 提供了下列类型的表单布局: 垂直表单(默认) 内联表单 水平表单 垂直或基本表单 基本的表单结构是 Bootstrap 自带的,个别的表单控件自动接收一些全局样式.下面列 ...

  2. fiddler如何修改request header

    在命令行中输入命令:  bpu www.baidu.com   (这种方法只会中断www.baidu.com) 然后刷新网站,在fiddler中点击被打断的网址,点击Inspectors—>Ra ...

  3. HTTP请求方法

    HTTP请求方法 根据HTTP标准,HTTP请求可以使用多种请求方法. HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法. HTTP1.1新增了五种请求方法:OPTIONS, ...

  4. windows 程序设计自学&colon;添加图标资源

    #include <windows.h> #include "resource.h" LRESULT CALLBACK MyWndProc( HWND hwnd, // ...

  5. jQurey 获取当前时间

    <script type="text/javascript"> $(document).ready(function () { var myDate = new Dat ...

  6. 使用static与const关键字时需要掌握的知识

    static:1.不考虑类,static的作用:    1)第一个作用:隐藏.使得全局变量和函数对其它文件不可见,同时避免了不同文件的命名冲突.    2)第二个作用:默认初始化为0.未初始化的全局静 ...

  7. 使用js获取页面参数

    方法一 function GetUrlParam (name) { return decodeURIComponent((new RegExp('[?|&]' + name + '=' + ' ...

  8. Linux服务器下安装vmware虚拟机

    安装包 1.VMware 14 https://dl-sh-ctc-2.pchome.net/08/b7/VMware-Workstation-Full-14.1.3-9474260.x86_64.b ...

  9. 关于iframe的相关操作

    1.判断当前页面是否在iframe当中 if (top.location != self.location) { alert("in iframe") }

  10. mysql数据库指定ip远程访问 指定用户 指定数据库

    .登录 mysql -u root -p 之后输入密码进行登陆 .权限设置及说明 .1添加远程ip访问权限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168 ...