亚音速别名查询 - 如何?

时间:2009-05-12 09:59:33

标签: subsonic alias

我正在尝试构建以下查询:

`new Select("GTekst = ArrGruppe.Tekst", "GLTekst = ArrGruppeLinie.Tekst")
.From(ArrGruppeLinie.Schema)
.InnerJoin(ArrGruppe.IdColumn, ArrGruppeLinie.ArrGruppeIDColumn)
.Where(ArrDeltager.Columns.Kategori).IsLessThan(20)
.And("Arrgruppe.Tekst").Like("mytext");`

由于.And(),它会生成一个有缺陷的查询,因为我在同一个名称的两列上附加了别名 - And-operator在这里:

... AND (ArrGruppe.Tekst LIKE @ArrGruppe.Tekst1
)',N'@Kategori0 tinyint,@ArrGruppe.Tekst1 varchar(10)',@Kategori0=20,@ArrGruppe.Tekst1='mytext'

我无法在Google上找到可以解决此问题的任何内容。如何编写Subsonic查询以生成ArrGruppe.Tekst的有效SQL参数?

编辑:问题已经从2.1 Final更新到2.2版。

1 个答案:

答案 0 :(得分:1)

new Select("GTekst = ArrGruppe.Tekst", "GLTekst = ArrGruppeLinie.Tekst")
  .From(ArrGruppeLinie.Schema)
  .InnerJoin(ArrGruppe.Columns.Id, ArrGruppeLinie.Columns.ArrGruppeID)
  .Where(ArrDeltager.Columns.Kategori).IsLessThan(20)
  .And(Arrgruppe.Columns.Tekst).Like("mytext");

如果没有尝试升级到最新版本的SubSonic http://code.google.com/p/subsonicproject/downloads/list,因为您可能遇到以下问题(已在2.2中修复)

Google问题31 - 表达式无法使用限定列名称正确格式化