.net NHibernate连接Oracle元素';id';在命名空间中';urn:nhibernate-mapping-2.2';具有无效的子元素';列';

.net NHibernate连接Oracle元素';id';在命名空间中';urn:nhibernate-mapping-2.2';具有无效的子元素';列';,.net,oracle,nhibernate,.net,Oracle,Nhibernate,我在尝试配置NHibernate连接到Oracle时遇到错误: NhbHelper.CUSTOMER.hbm.xml(6,8):xml验证错误:命名空间“urn:nhibernate-mapping-2.2”中的元素“id”在命名空间“urn:nhibernate-mapping-2.2”中具有无效的子元素“column” 尝试添加程序集时出错 var configuration = new Configuration(); configuration.AddAssembly("NhbHelpe

我在尝试配置NHibernate连接到Oracle时遇到错误:

NhbHelper.CUSTOMER.hbm.xml(6,8):xml验证错误:命名空间“urn:nhibernate-mapping-2.2”中的元素“id”在命名空间“urn:nhibernate-mapping-2.2”中具有无效的子元素“column”

尝试添加程序集时出错

var configuration = new Configuration();
configuration.AddAssembly("NhbHelper");
sessionFactory = configuration.BuildSessionFactory();
我的顾客

using System.Collections.Generic; 
using System.Text; 
using System; 


namespace NhbHelper.Customer {

    public class CUSTOMER {
        public CUSTOMER() { }
        public virtual long CUSTOMER_ID { get; set; }
        public virtual string CUSTOMER_CODE { get; set; }
        public virtual string CUSTOMER_NAME { get; set; }
        public virtual string SHOP_ID { get; set; }
        public virtual string COUNTRY { get; set; }
        public virtual string AREA_CODE { get; set; }
        public virtual string STREET { get; set; }
        public virtual string HOUSENUMBER { get; set; }
        public virtual string PHONE { get; set; }
        public virtual System.Nullable<System.DateTime> CREATE_DATE { get; set; }
        public virtual System.Nullable<System.DateTime> UPDATE_DATE { get; set; }
        public virtual string POSTAL_CODE { get; set; }
        public virtual string CONTACT_PERSON { get; set; }
        public virtual string TAX_CODE { get; set; }
        public virtual string MOBILEPHONE { get; set; }
        public virtual string LOCATION { get; set; }
        public virtual long CUSTOMER_TYPE_ID { get; set; }
        public virtual long LOYALTY { get; set; }
        public virtual string CREATE_USER { get; set; }
        public virtual string UPDATE_USER { get; set; }
        public virtual string DISLAY { get; set; }
        public virtual System.Nullable<System.DateTime> LAST_APPROVE_ORDER { get; set; }
        public virtual System.Nullable<System.DateTime> LAST_ORDER { get; set; }
        public virtual System.Nullable<long> STATUS { get; set; }
    }
}
使用System.Collections.Generic;
使用系统文本;
使用制度;
名称空间NhbHelper.Customer{
公共类客户{
公共客户(){}
公共虚拟长客户_ID{get;set;}
公共虚拟字符串客户_代码{get;set;}
公共虚拟字符串CUSTOMER_NAME{get;set;}
公共虚拟字符串库_ID{get;set;}
公共虚拟字符串国家{get;set;}
公共虚拟字符串区域_代码{get;set;}
公共虚拟字符串STREET{get;set;}
公共虚拟字符串HOUSENUMBER{get;set;}
公共虚拟字符串电话{get;set;}
公共虚拟系统。可为空的CREATE_DATE{get;set;}
公共虚拟系统。可为空的更新\u日期{get;set;}
公共虚拟字符串邮政编码{get;set;}
公共虚拟字符串CONTACT_PERSON{get;set;}
公共虚拟字符串TAX_代码{get;set;}
公共虚拟字符串MOBILEPHONE{get;set;}
公共虚拟字符串位置{get;set;}
公共虚拟长客户_TYPE_ID{get;set;}
公共虚拟长期忠诚{get;set;}
公共虚拟字符串CREATE_USER{get;set;}
公共虚拟字符串更新_用户{get;set;}
公共虚拟字符串显示{get;set;}
公共虚拟系统。可为空的最后批准顺序{get;set;}
公共虚拟系统。可为空的最后一个_顺序{get;set;}
公共虚拟系统。可为空状态{get;set;}
}
}
这里是my CUSTOMER.hbm.xml:

<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping assembly="NhbHelper" namespace="NhbHelper.Customer" xmlns="urn:nhibernate-mapping-2.2">
  <class name="CUSTOMER" table="CUSTOMER" lazy="true" >
    <id name="CUSTOMER_ID">
      <generator class="identity" />
      <column name="CUSTOMER_ID" sql-type="NUMBER"  />
    </id>
    <property name="CUSTOMER_CODE">
      <column name="CUSTOMER_CODE" sql-type="VARCHAR2" not-null="true" />
    </property>
    <property name="CUSTOMER_NAME">
      <column name="CUSTOMER_NAME" sql-type="NVARCHAR2" not-null="false" />
    </property>
    <property name="SHOP_ID">
      <column name="SHOP_ID" sql-type="NVARCHAR2" not-null="true" />
    </property>
    <property name="COUNTRY">
      <column name="COUNTRY" sql-type="NVARCHAR2" not-null="false" />
    </property>
    <property name="AREA_CODE">
      <column name="AREA_CODE" sql-type="VARCHAR2" not-null="true" />
    </property>
    <property name="STREET">
      <column name="STREET" sql-type="NVARCHAR2" not-null="false" />
    </property>
    <property name="HOUSENUMBER">
      <column name="HOUSENUMBER" sql-type="VARCHAR2" not-null="false" />
    </property>
    <property name="PHONE">
      <column name="PHONE" sql-type="VARCHAR2" not-null="false" />
    </property>
    <property name="CREATE_DATE">
      <column name="CREATE_DATE" sql-type="DATE" not-null="false" />
    </property>
    <property name="UPDATE_DATE">
      <column name="UPDATE_DATE" sql-type="DATE" not-null="false" />
    </property>
    <property name="POSTAL_CODE">
      <column name="POSTAL_CODE" sql-type="VARCHAR2" not-null="false" />
    </property>
    <property name="CONTACT_PERSON">
      <column name="CONTACT_PERSON" sql-type="NVARCHAR2" not-null="false" />
    </property>
    <property name="TAX_CODE">
      <column name="TAX_CODE" sql-type="VARCHAR2" not-null="false" />
    </property>
    <property name="MOBILEPHONE">
      <column name="MOBILEPHONE" sql-type="VARCHAR2" not-null="false" />
    </property>
    <property name="LOCATION">
      <column name="LOCATION" sql-type="VARCHAR2" not-null="true" />
    </property>
    <property name="CUSTOMER_TYPE_ID">
      <column name="CUSTOMER_TYPE_ID" sql-type="NUMBER" not-null="true" />
    </property>
    <property name="LOYALTY">
      <column name="LOYALTY" sql-type="NUMBER" not-null="true" />
    </property>
    <property name="CREATE_USER">
      <column name="CREATE_USER" sql-type="VARCHAR2" not-null="true" />
    </property>
    <property name="UPDATE_USER">
      <column name="UPDATE_USER" sql-type="VARCHAR2" not-null="false" />
    </property>
    <property name="DISLAY">
      <column name="DISLAY" sql-type="VARCHAR2" not-null="false" />
    </property>
    <property name="LAST_APPROVE_ORDER">
      <column name="LAST_APPROVE_ORDER" sql-type="DATE" not-null="false" />
    </property>
    <property name="LAST_ORDER">
      <column name="LAST_ORDER" sql-type="DATE" not-null="false" />
    </property>
    <property name="STATUS">
      <column name="STATUS" sql-type="NUMBER" not-null="false" />
    </property>
  </class>
</hibernate-mapping>


请帮忙

删除映射上的列标记:

<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping assembly="NhbHelper" namespace="NhbHelper.Customer" xmlns="urn:nhibernate-mapping-2.2">
  <class name="CUSTOMER" table="CUSTOMER" lazy="true" >
    <id name="CUSTOMER_ID">
      <generator class="identity" />
    </id>
    <property name="CUSTOMER_CODE">
      <column name="CUSTOMER_CODE" sql-type="VARCHAR2" not-null="true" />
    </property>
    <property name="CUSTOMER_NAME">
      <column name="CUSTOMER_NAME" sql-type="NVARCHAR2" not-null="false" />
    </property>
    <property name="SHOP_ID">
      <column name="SHOP_ID" sql-type="NVARCHAR2" not-null="true" />
    </property>
    <property name="COUNTRY">
      <column name="COUNTRY" sql-type="NVARCHAR2" not-null="false" />
    </property>
    <property name="AREA_CODE">
      <column name="AREA_CODE" sql-type="VARCHAR2" not-null="true" />
    </property>
    <property name="STREET">
      <column name="STREET" sql-type="NVARCHAR2" not-null="false" />
    </property>
    <property name="HOUSENUMBER">
      <column name="HOUSENUMBER" sql-type="VARCHAR2" not-null="false" />
    </property>
    <property name="PHONE">
      <column name="PHONE" sql-type="VARCHAR2" not-null="false" />
    </property>
    <property name="CREATE_DATE">
      <column name="CREATE_DATE" sql-type="DATE" not-null="false" />
    </property>
    <property name="UPDATE_DATE">
      <column name="UPDATE_DATE" sql-type="DATE" not-null="false" />
    </property>
    <property name="POSTAL_CODE">
      <column name="POSTAL_CODE" sql-type="VARCHAR2" not-null="false" />
    </property>
    <property name="CONTACT_PERSON">
      <column name="CONTACT_PERSON" sql-type="NVARCHAR2" not-null="false" />
    </property>
    <property name="TAX_CODE">
      <column name="TAX_CODE" sql-type="VARCHAR2" not-null="false" />
    </property>
    <property name="MOBILEPHONE">
      <column name="MOBILEPHONE" sql-type="VARCHAR2" not-null="false" />
    </property>
    <property name="LOCATION">
      <column name="LOCATION" sql-type="VARCHAR2" not-null="true" />
    </property>
    <property name="CUSTOMER_TYPE_ID">
      <column name="CUSTOMER_TYPE_ID" sql-type="NUMBER" not-null="true" />
    </property>
    <property name="LOYALTY">
      <column name="LOYALTY" sql-type="NUMBER" not-null="true" />
    </property>
    <property name="CREATE_USER">
      <column name="CREATE_USER" sql-type="VARCHAR2" not-null="true" />
    </property>
    <property name="UPDATE_USER">
      <column name="UPDATE_USER" sql-type="VARCHAR2" not-null="false" />
    </property>
    <property name="DISLAY">
      <column name="DISLAY" sql-type="VARCHAR2" not-null="false" />
    </property>
    <property name="LAST_APPROVE_ORDER">
      <column name="LAST_APPROVE_ORDER" sql-type="DATE" not-null="false" />
    </property>
    <property name="LAST_ORDER">
      <column name="LAST_ORDER" sql-type="DATE" not-null="false" />
    </property>
    <property name="STATUS">
      <column name="STATUS" sql-type="NUMBER" not-null="false" />
    </property>
  </class>
</hibernate-mapping>


谢谢@Euclides,但当我像你说的那样删除该列时,它是新的exeption:NhbHelper.CUSTOMER.hbm.xml(4,6):xml验证错误:命名空间“urn:nhibernate-mapping-2.2”中的元素“class”在命名空间“urn:nhibernate-mapping-2.2”中具有无效的子元素“property”。命名空间“urn:nhibernate-mapping-2.2”中需要的可能元素列表:“meta、subselect、cache、synchronize、comment、tuplizer、id、composite id”。删除列标记后是否可以显示映射?我编辑了我的答案以显示最终的映射。顺便问一下,你能告诉我操作符是什么吗:“=>”这个映射代码中的示例:流利地返回.Configure().Database(persistenceConfigurer).Mappings(m=>m.AutoMappings.Add(AutoMap.AssemblyOf().Override)(map=>map.HasMany(user=>user.Transactions).KeyColumn(“买方id”)).Override(map=>map.HasMany(user=>user.Transactions).KeyColumn(“卖方id”))).ExposeConfiguration(BuildSchema.BuildSessionFactory();