我正在尝试构建以下查询:
`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版。
答案 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 - 表达式无法使用限定列名称正确格式化