Nhibernate 父记录和子记录的更新不起作用

Nhibernate 父记录和子记录的更新不起作用,nhibernate,Nhibernate,我已设置了父子关系表。在UI中,我显示了父详细信息和子详细信息。用户在UI中进行更改后,我需要将其保存回db,但我得到以下错误: NHibernate.ado异常被捕获 Message=“无法更新:[PlanningMaps.vo.PaRegAddresses#2][SQL:update PaRegAddresses SET RegUserId=?,AddressCity=?,AddressCountry=?,AddressLine=?,AddressLine1=?,AddressPostcod

我已设置了父子关系表。在UI中,我显示了父详细信息和子详细信息。用户在UI中进行更改后,我需要将其保存回db,但我得到以下错误:

NHibernate.ado异常被捕获

Message=“无法更新:[PlanningMaps.vo.PaRegAddresses#2][SQL:update PaRegAddresses SET RegUserId=?,AddressCity=?,AddressCountry=?,AddressLine=?,AddressLine1=?,AddressPostcode=?,RegUserId=?,IsBillingAddress=?,IsShippingAddress=?其中RegAddressID=?”

例外情况是:

System.Data.SqlClient.SqlException:列名“RegUserId”在结果列列表中出现多次

以下是映射详细信息: 家长:

<?xml version="1.0" encoding="utf-8" ?>
   <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="PlanningMaps.vo" assembly="PlanningMaps.vo">
    <class name="PaRegUser, __code" table="PaRegUsers" lazy="false">
        <id name="Id" type="Int64" column="RegUserId">
            <generator class="identity" />
        </id>
        <property name="RegTradeName" column="RegTradeName" type="String" />
        <property name="RegTitle" column="RegTitle" type="String" />
        <property name="RegContactName" column="RegContactName" type="String" />
        <property name="RegPassword" column="RegPassword" type="String" />
        <property name="RegEmail" column="RegEmail" type="String" />
        <property name="RegPhoneNumber" column="RegPhoneNumber" type="String" />
        <bag name="PaRegAddresses" inverse="true" cascade="all-delete-orphan" lazy="false">
            <key column="RegUserID" />
            <one-to-many class="PaRegAddresses, App_Code" />
        </bag>
    </class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="PlanningMaps.vo" assembly="PlanningMaps.vo">
    <class name="PaRegAddresses, __code" table="PaRegAddresses" lazy="false">
        <id name="Id" type="Int64" column="RegAddressID">
            <generator class="identity" />
        </id>
        <property name="RegUserId" column="RegUserId" type="Int64" />
        <property name="AddressCity" column="AddressCity" type="String" />
        <property name="AddressCountry" column="AddressCountry" type="String" />
        <property name="AddressLine" column="AddressLine" type="String" />
        <property name="AddressLine1" column="AddressLine1" type="String" />
        <property name="AddressPostcode" column="AddressPostcode" type="String" />
        <many-to-one name="RegUsers" column="RegUserId" not-null="true" class="PaRegUser, App_Code" />
        <property name="IsBillingAddress" column="IsBillingAddress" type="Boolean" />
        <property name="IsShippingAddress" column="IsShippingAddress" type="Boolean" />
    </class>
</hibernate-mapping>
public void UpdateRegCustomer( PaRegUser regUser )
    {
    ITransaction tx = null;
    try
        {
        if (!session.IsConnected)
            {
            session.Reconnect();
            }

        tx = session.BeginTransaction();
        
        if (regUser != null)
            session.Update(regUser);
            tx.Commit();
            }
        session.Disconnect();
        }
    catch (Exception ex)
        {
        tx.Rollback();
        session.Disconnect();
        log.Error("UpdateRegCustomer( PaRegUser regUser ) method", ex);
        throw ex;
        // handle exception
        }
    }
请让我知道我在这里做错了什么,以及我需要做什么更改才能更新父记录和子记录。
感谢您的帮助。

您的孩子:

<property name="RegUserId" column="RegUserId" type="Int64" />

谢谢你的回复。我会试试这个,然后把结果贴在这里。
<many-to-one name="RegUsers" column="RegUserId" not-null="true" class="PaRegUser, App_Code" />
 <property name="RegUserId" column="RegUserId" type="Int64" insert="false" update="false" />
PaRegAddresses.RegUsers.Id