提问时间: 2008-03-11 22:58
悬赏分:20 浏览:498 次
话接昨日问题续
select * from
company left join company_name_hist
on company.Company_ID = company_name_hist.Company_ID
where company_name_hist.Co_Name like '111'
or
company.Co_Name like '111'
===
company 和 company_name_hist是one to many的
==
用criteria 是
session.CreateCriteria(typeof(company), "cp")
.CreateCriteria("company_name_hist", "cph", JoinType.LeftOuterJoin)
.Add(Expression.Expression.Or(Expression.Like("cp.Co_Name", "111"), Expression.Like("cph.Co_Name", "111")))
.List();
=================
ConvertToGenericList(criteria.List());会得到ILIST<>
类型,但是gridview绑定的时候有的列是company上的 有的是
company_name_hist是上的,我直接写company上的字段没问题
但是写上company_name_hist上的字段companyNo就出现
在选定的数据源上未找到名为“companyNo”的字段或属性的错误
---
上述criteria写法我已经按照配置文件的写好了,cirteria调试通过
已经one to many 映射好了
<bag name="ListCompanyNameHist" generic="true" inverse="true" cascade="none" lazy="true">
<key column="Company_ID"/>
<one-to-many class="CompanyNameHist,App_Code" />
</bag>