2010-12-08 5 views
0

내 쿼리는 다음과 같습니다.Hibernate : 필드 이름을 사용하여 IQuery.List()에서 데이터를 검색하는 방법?

string query = " select a.CustomerName , b.ProductName from Customer as a join a.Product as b " 

IQuery query = applicationSession.CreateQuery(query); 
IList listResult = query.List(); 

그러면 고객 이름과 제품 이름이 반환됩니다. 하지만 내가하고 싶은 일은 다음과 같습니다.

string customerName = listResult[0]["CustomerName"]; 
string productName = listResult[0]["ProductName"]; 

누구나 이걸 만들 수있는 방법에 대한 도움을 줄 수 있습니까?

+0

게시물에 [서명 또는 태그 라인을 사용하지 마십시오.] (http://stackoverflow.com/faq#signatures)하십시오. – meagar

답변

4

당신은 해시 테이블에 변압기를 적용 할 수 :

string query = "select a.CustomerName as CustomerName, b.ProductName as ProductName from Customer as a join a.Product as b" 

IQuery query = applicationSession.CreateQuery(query); 
var listResult = query.SetResultTransformer(NHibernate.Transform.Transformers.AliasToEntityMap).List<Hashtable>(); 


string customerName = (string)listResult[0]["CustomerName"]; 
string productName = (string)listResult[0]["ProductName"]; 

내가 AliasToEntityMap가 작동하기 위해 원래의 쿼리에 별칭을 추가 있습니다.

+0

감사합니다! 그것은 작동합니다. – TMS

관련 문제