柚子Nan--回归原点

Everything can be as easy as you like or as complex as you need.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

NHibernate使用手迹(2nd—extension)

Posted on 2005-05-31 09:59  柚子Nan  阅读(2457)  评论(14编辑  收藏  举报

在做顾客银行这个例子的时候,怎么也进行不下去了,遇到了如下一个错误:Object type cannot be converted to target type.


我想做的事情是这样的:我把需求稍微改动了一下,
CustomerBank不再是one-to-one了,而是one-to-many.
那么我在配置文件中改成:

Customer.hbm.xml

<bag name="CustomerBanks"

             cascade="all"

             order-by="BankName asc">

             <key column="CustomerID" />

             <one-to-many class="Data.Bank, Data"/>

        </bag>

 

Bank.hbm.xml

<many-to-one name="BankCustomer" class="Data.Customer, Data"

                     cascade="all" outer-join="auto"                  

                     column="CustomerID"

                     not-null="false" />


详细的配置文件、
Domain Model DB Model在此下载
然后我想插入Customer的时候同时插入Bank,实现代码如下
           Customer aCustomer = new Customer();

           aCustomer.CustomerTitle = "Developer";

           aCustomer.CustomerAge = 25;

           aCustomer.UpdateTimestamp = DateTime.Now;

 

           Bank aBank = new Bank();

          

           aBank.BankName = "CICB";

           aBank.Banlance = 1233453.234M;

           aBank.UpdateTimestamp = aCustomer.UpdateTimestamp;

 

           // bind the two object to each other.

           aBank.BankCustomer = aCustomer;

           aCustomer.CustomerBanks.Add(aBank);

 

           aEntityRule.Save(aCustomer);

为什么出现错误,Object type cannot be converted to target type.

我用SQL Profile察看,发现根本没有生成任何SQL 语句,请指点一下哪里错了