Sql server nhibernate为表生成的sql-别名

Sql server nhibernate为表生成的sql-别名,sql-server,hibernate,nhibernate,hibernate-criteria,sql-execution-plan,Sql Server,Hibernate,Nhibernate,Hibernate Criteria,Sql Execution Plan,在生成查询时,是否有方法停止NHibernate为表生成别名 我在SQL server上有一个执行计划,我需要在我的查询上应用这个计划,但我不能,因为每次执行select查询时,我都会为我的表获得一个不同的别名 例如: from dbo.Accounts accountdet0_ where accountdet0_.AccountID = 1366 是否有一种方法可以通过属性或配置来控制此别名 感谢advanced提供的任何帮助,但从SQL Server的角度来看,您不应该指望为某些自定义

在生成查询时,是否有方法停止NHibernate为表生成别名

我在SQL server上有一个执行计划,我需要在我的查询上应用这个计划,但我不能,因为每次执行select查询时,我都会为我的表获得一个不同的别名

例如:

from dbo.Accounts accountdet0_ where  accountdet0_.AccountID = 1366
是否有一种方法可以通过属性或配置来控制此别名

感谢advanced提供的任何帮助

,但从SQL Server的角度来看,您不应该指望为某些自定义内容生成别名。。。这些生成的别名非常稳定

尽可能多次运行相同的查询(即使使用不同的prameters),结果将是相同的

更重要的是,由于参数化语法如下:

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
执行计划将被重新用于具有不同参数的任何数量的类似查询…

,而从SQL Server的角度来看,对于某些自定义内容,不应依赖生成的别名。。。这些生成的别名非常稳定

尽可能多次运行相同的查询(即使使用不同的prameters),结果将是相同的

更重要的是,由于参数化语法如下:

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
执行计划将被重新用于任何数量的具有不同参数的类似查询