views:

42

answers:

1

Is there any way to use custom sql with NHibernate? I want to use a complex sql for a specific column.

Example:

select id, viewsCount, commentsCount, 
  0.2 * viewsCount / (select top 1 viewsCount from articles where isActive = 1 order by viewsCount DESC) as priorityViews, 
  0.8 * commentsCount / (select top 1 commentsCount from articles where isActive = 1 order by commentsCount DESC) as priorityComments, 
  round(0.2 * viewsCount / (select top 1 viewsCount from articles where isActive = 1 order by viewsCount DESC) +  
  0.8 * commentsCount / (select top 1 commentsCount from articles where isActive = 1 order by commentsCount DESC), 1) as priority
from articles
+2  A: 

You can do this in your mapping with the formula attribute, or in your query with Projections.SqlProjection()

Mauricio Scheffer