问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在使用NHibernate进行保存的时候,Session.Flush()的时间出现了SalDataTime溢出, 望高手指教,谢谢了

发布网友 发布时间:2022-10-27 18:27

我来回答

3个回答

热心网友 时间:2023-09-28 08:55

我刚碰到这个问题,是因为数据库的datetime类型默认值是0001-00-00,而sqldatetime的值必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间,所以就溢出了。
处理办法有很多:
(1)修改.hbm.xml文件中的类型,该"DateTime"为"String",该实体文件中的属性类型"DateTime"为"String"。
处理的时候,该属性值要么为空,要么是具有正确日期格式的字符串。
该方法只适合DateTime类型,而对int,bool类型就不适应了。下面就看第二种方法。
(2)Nullables处理
(1)添加引用:Nullables.dll与Nullables.NHibernate.dll
(2)修改配置文件.hbm.xml对应的类型,如:
<property name="InDate" column="inDate" type="DateTime"/>修改为:
<property name="InDate" column="inDate" type="Nullables.NHibernate.NullableDateTimeType,Nullables.NHibernate"/>
(3)修改实体类文件,如:
private DateTime _inDate;
/// <summary>
/// 添加日期
/// </summary>
public DateTime InDate
{
get { return _inDate; }
set { _inDate = value;
} 修改为:
private Nullables.NullableDateTime _InDate;
/// <summary>
/// 添加日期
/// </summary>
[NHibernate.Mapping.Attributes.Property]
public Nullables.NullableDateTime InDate
{
get { return _InDate; }
set { _InDate = value; }
}
(4)给属性InDate赋值:
Item clsItem = new Item();
clsItem.InDate = new NullableDateTime(System.DateTime.Now);
如果要输入空值,如:clsItem.InDate = nulll;

(5)获取属性InDate的值:
ItemCRUD clsCRUD = new ItemCRUD(); //对实体类的操作
Item clsItem = clsCRUD.ItemDetails(id); //获取实体类
this.txtInDate.Text = clsItem.InDate.ToString();

有一些都没有试验过,按道理应该是都可以实现的,你选择一个适合自己的办法试试吧!我刚刚从java转做.net有空可以多交流。

热心网友 时间:2023-09-28 08:55

我刚碰到这个问题,是因为数据库的datetime类型默认值是0001-00-00,而sqldatetime的值必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间,所以就溢出了。
处理办法有很多:
(1)修改.hbm.xml文件中的类型,该"DateTime"为"String",该实体文件中的属性类型"DateTime"为"String"。
处理的时候,该属性值要么为空,要么是具有正确日期格式的字符串。
该方法只适合DateTime类型,而对int,bool类型就不适应了。下面就看第二种方法。
(2)Nullables处理
(1)添加引用:Nullables.dll与Nullables.NHibernate.dll
(2)修改配置文件.hbm.xml对应的类型,如:
<property name="InDate" column="inDate" type="DateTime"/>修改为:
<property name="InDate" column="inDate" type="Nullables.NHibernate.NullableDateTimeType,Nullables.NHibernate"/>
(3)修改实体类文件,如:
private DateTime _inDate;
/// <summary>
/// 添加日期
/// </summary>
public DateTime InDate
{
get { return _inDate; }
set { _inDate = value;
} 修改为:
private Nullables.NullableDateTime _InDate;
/// <summary>
/// 添加日期
/// </summary>
[NHibernate.Mapping.Attributes.Property]
public Nullables.NullableDateTime InDate
{
get { return _InDate; }
set { _InDate = value; }
}
(4)给属性InDate赋值:
Item clsItem = new Item();
clsItem.InDate = new NullableDateTime(System.DateTime.Now);
如果要输入空值,如:clsItem.InDate = nulll;

(5)获取属性InDate的值:
ItemCRUD clsCRUD = new ItemCRUD(); //对实体类的操作
Item clsItem = clsCRUD.ItemDetails(id); //获取实体类
this.txtInDate.Text = clsItem.InDate.ToString();

有一些都没有试验过,按道理应该是都可以实现的,你选择一个适合自己的办法试试吧!我刚刚从java转做.net有空可以多交流。

热心网友 时间:2023-09-28 08:55

是什么数据库?Oracle的话可以用sysdate追问使用的是Sql server 数据库

追答打印一下System.DateTime.Now 是多长 不行的话进行一下格式化

热心网友 时间:2023-09-28 08:56

用NHibernate 的时间类型的属性必须得给它赋值 不能是空的

热心网友 时间:2023-09-28 08:55

是什么数据库?Oracle的话可以用sysdate追问使用的是Sql server 数据库

追答打印一下System.DateTime.Now 是多长 不行的话进行一下格式化

热心网友 时间:2023-09-28 08:56

用NHibernate 的时间类型的属性必须得给它赋值 不能是空的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
华为freebuds4i切歌怎么操作_华为freebuds4i怎么切歌 华为freebuds pro切歌方法_华为freebuds pro怎么切歌 华为耳机怎么切换下一曲 欧美电影,好像是宠物有一个世界,宠物会想办法跟主人的灵魂互换占据 ...的名字,欧洲中世纪,一个王子的继母把他的灵魂和狗的灵魂互换了... 问一部外国电影的名字 剧情记得不大清楚l了 是前几年的片子 灵魂互换的... HUAWEI 华为 AGS2-W09 10.1英寸平板电脑 (香槟金、64GB+4GB、WiFi版... 诛仙3百法和千法差距大吗 微信怎么解除应用授权登录 授权应用删除方法 微信怎么解除应用授权登录授权应用删除方法 NHibernate外键映射自身的问题 hibernate 一对一 双向关联 级联保存,2个对象分别都insert到数据库表,但是 外键没有跟新,为null 求指导 什么是三供一业改造 华为荣耀x2gem703l手机怎么来微信总收不到呀? 被盗了怎么办怎么找回来? 被盗了怎么办? 被盗举报电话? 支付宝的免息生活费是什么 支付宝的免息生活费介绍 艾薇儿婚礼背景音乐歌词 艾薇儿结婚背景音乐的歌词 请教在京东换过显卡的高人? 怎样说才能给换新,买来的显卡有重焊的痕迹,但使用没问题,我怕有“暗伤” 我在京东买的显卡想换个别的显卡不是这个型号的 京东换货显卡! 京东买的索泰1070用了一个月坏了,京东说只能修,30天以内给我。我急着用怎么办?能叫他换新么 我在jd买了一个gtx960的显卡,买了个第2年只换不修保障,到第2年出了问题送去检测符合换新了能 天津公务员报名问题 求助一道行测图形推理题 婚姻里最不幸福的女人往往都有哪4个特征,希望你不在其中? 婚姻里,只要不幸福的男人,才会“频繁”有哪几个表现? 夫妻过不下去的五种表现 加入铺货单后去哪里上架 周六南京新街口支行营业吗? 有意境的狗名 有意境的狗名推荐 广东财政是收什么费用 双一流的出炉,会对哪些名018高考录取产生影响 手机版本太高怎么降低啊? 手机版本太高怎么运行软件 陕西今年养老金怎么涨 2018年陕西省铜川市养老金上调方案 态度不认真的检查书怎么写 王宝钏是哪个朝代的 薛平贵与王宝钏是哪个朝代 历史上这两人是什么朝代的故事 在百度网页栏上有以前查过的消息怎么删除 扫描王升级为会员每次进入还有广告 梦见前未婚夫发怒要伤害我是怎么回事? 戴尔笔记本玩跑跑卡丁车的时候人物不受控制的在图里一直转圈圈,按什么键都没反应是怎么回事? 猫肠胃炎会自己好吗 猫肠胃炎多久能好?如何预防猫肠胃炎 猫慢性肠胃炎要治疗多久才能好 24点游戏中,j、q、k分别代表几?