在生成查询时,有没有办法阻止NHibernate为表生成别名?
我在SQL服务器上有一个执行计划,我需要在我的查询中应用这个计划,但是因为每次执行select查询时都不能使用,所以我得到了一个不同的别名。
例如:
from dbo.Accounts accountdet0_ where accountdet0_.AccountID = 1366
我可以使用哪种属性或配置来控制此别名吗?
感谢先进的任何帮助
答案 0 :(得分:0)
虽然不依赖于某些自定义内容的生成别名 - 从SQL Server的角度来看......这些生成的别名非常稳定。
运行相同的查询(即使使用不同的参数)您想要的次数 - 结果SQL将相同。
甚至更多,因为这样的参数化语法:
exec sp_executesql N'SELECT department0_.Department_ID as Department1_200_0_,
department0_.Code as Code200_0_,
department0_.Description as Description200_0_, ...
FROM [dbo].[Department] department0_
WHERE department0_.Department_ID=@p0',N'@p0 int',@p0=1
执行计划将重复用于任何数量的类似查询,只有不同的参数......