专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > ASP.NET

保存A实体会莫名其妙保存到B实体。这是如何回事啊!Nhibernate

发布时间:2011-06-22 17:14:45 文章来源:www.iduyao.cn 采编人员:星星草
保存A实体会莫名其妙保存到B实体。。这是怎么回事啊!!Nhibernate
如题:求助:
C# code

 [Serializable]
    public class A
    {
          /// <summary>
        ///唯一标识
        /// </summary>
        public virtual string ID
        {
            get;
            set;
        }
         /// <summary>
        ///姓名
        /// </summary>
        public virtual string Name        {
            get;
            set;
        }


     }
    
    [Serializable]
    public class B
    {
          /// <summary>
        ///唯一标识
        /// </summary>
        public virtual string ID
        {
            get;
            set;
        }
         /// <summary>
        ///姓名
        /// </summary>
        public virtual DateTime LastTime
       {
            get;
            set;
        }
       /// <summary>
        ///姓名
        /// </summary>
        public virtual string Name        {
            get;
            set;
        }


     }


XML code

<?xml version="1.0"  encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
    <class name="Domain.A, Domain" table="A">
        <id name="ID" column="ID" type="string">
                                    <generator class="uuid.hex" />
          </id>              
        <property name="Name"  />
    <property name="LastTime"  />
        </class>
</hibernate-mapping>



<?xml version="1.0"  encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
    <class name="Domain.B, Domain" table="B">
        <id name="ID" column="ID" type="string">
                                    <generator class="uuid.hex" />
          </id>              
         <property name="LastTime"  />
         <property name="Name"  />

        </class>
</hibernate-mapping>



C# code

protected void btnSave_Click(object sender, EventArgs e)
{
   A a = new A();
   a.Name = GetB();
   UtilityDao.SaveOrUpdate(a);//保存A实体
}
private string GetB()
{
   string result = string.Empty;
   B b = service.GetBMethod();
   if(b != null)
   {
     result = b.Name;
   }
   return result;
}




实体类和映射文件如上。。。当我点击按钮保存的时候。保存的是A实体的时候用NhibernateProfiler查看session怎么会出现更新B实体的脚本 然后报错"错误:“SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间。” 出现这种问题多半是因为你插入或者更新数据库时datetime字段值为空默认插入0001年01月01日造成datetime类型溢出。 
"




------解决方案--------------------
不懂,帮顶
------解决方案--------------------
可以去博客园上问问李永京,他对NHIBERNATE很熟悉。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: