我需要知道如何修改一个sql,添加到每一个select sql代码中。 我的问题是,我需要在“FROM table”+“sql_code”之后添加此sql代码,即使“像GROUP BY”之后有某种东西。修改NHibernate中的SQL
我知道我需要使用OnPrepareStatement,我只是不知道如何编辑SqlString来这么做!
有一两件事,我已经试过:
public override SqlString OnPrepareStatement(SqlString sql)
{
if (sql.Parts.Cast<string>().FirstOrDefault().Trim().ToLower() != "select")
{
return sql;
}
StringBuilder novaString = new StringBuilder(sql.ToString());
String corte = sql.SubstringStartingWithLast("where").ToString();
if (corte != "")
{
StringBuilder sb = new StringBuilder(corte);
sb.Insert(0, "with(nolock) ");
novaString.Replace(corte, sb.ToString());
}
else
{
novaString.Append(" with(nolock)");
}
return new SqlString(novaString.ToString());
}
谢谢!
我不知道这意味着什么。我会的,对不起! – Leonardo 2012-03-31 15:12:51
他意味着你需要在每个你以前的问题中标记一个答案为“接受”,即如果有答案并且他们有帮助。 – gdp 2012-03-31 17:37:40
是的,我得到了那部分!你对我的问题有任何想法吗?多谢你们 ! – Leonardo 2012-04-01 05:19:12