createSQLQuery 该方法可以实现,需要AddEntity方法支援。谢谢!请问Nhibernate怎样实现多表查询?例如:
ISQLQuery query = session.CreateSQLQuery("select cs.* from cake c join CakeSize cs on cs.CakeId=c.Id")
.AddEntity("cs", typeof(CakeSize));
IList<CakeSize> cs = query.List<CakeSize>();怎样返回两个实例的数据,而不是单个实例?
ISQLQuery query = session.CreateSQLQuery("select cs.* from cake c join CakeSize cs on cs.CakeId=c.Id")
.AddEntity("cs", typeof(CakeSize));
IList<CakeSize> cs = query.List<CakeSize>();怎样返回两个实例的数据,而不是单个实例?
楼主,我也遇到相同的问题,但是用createSQLQuery 方法怎么不行,楼主能否帮我看下什么问题咯,谢谢!string strWhere = "";
if (!string.IsNullOrEmpty(periodID))
strWhere = " and periodID='" + periodID + "' ";
if (!string.IsNullOrEmpty(companyCode))
strWhere += " and A.companyCode='" + companyCode + "' ";
if (!string.IsNullOrEmpty(caseName))
strWhere += " and caseName='" + caseName + "' "; string strSql = "SELECT 0 u_RegisterID,0 u_RegisterPID,'' u_RegisterTime,'' u_ModifyTime,0 u_Validate,A.ID id, A.reportID, A.periodID, A.companyCode, A.unitCode, A.unitName, A.unitMax, A.unitMin, A.caseName, A.flag," +
" B.companyName, C.reportPath, C.reportDate FROM T_Case_Caps A INNER JOIN " +
" dbo.T_CompanyCode B ON A.companyCode = B.companyCode INNER JOIN " +
" dbo.T_ReportInfo C ON A.reportID = C.ID " +
" WHERE 1=1 " + strWhere + " ORDER BY A.ID"; //return this.Session.CreateQuery(strSql).List<Case_CapsExpand>(); return this.Session.CreateSQLQuery("strSql").AddEntity(typeof(Case_CapsExpand)).List<Case_CapsExpand>();
return this.Session.CreateSQLQuery("strSql") 这里 怎么能用引号吧这个Sql语句引起来呢?