Met SubSonic 2 uit de doos kan dat niet.
Dit gezegd hebbende, heb je de volgende alternatieven:
SubSonic verlengen
Als u al bekend bent met SubSonic, kunt u overwegen om meerdere kolommen toe te voegen aan SubSonic zelf.
Gebruik weergaven, opgeslagen procedures, tabelfuncties
Als je niet met SubSonics-code wilt knoeien, gebruik dan views, opgeslagen procedures en/of tabelfuncties binnen de sql-server. SubSonic maakt het gemakkelijk om toegang te krijgen tot gegevens uit weergaven en opgeslagen procedures.
Gebruik een InlineQuery
InlineQuery stelt je in staat om elke sql uit te voeren - als het een optie is om kale sql in je code te hebben.
Lelijke oplossing met InlineQuery
Als u absoluut uw zoekopdracht met SubSonic wilt maken, kunt u dit proberen:
SqlQuery q = DB.Select()
.From<TableA>()
.CrossJoin<TableB>()
.Where(TableA.YearColumn).IsEqualTo(0)
.And(TableA.MonthColumn).IsEqualTo(0)
.And(TableA.UseridColumn).IsEqualTo(0);
Bouw de SQL-instructie en vervang de parameternamen:
string s = q.BuildSqlStatement();
s = s.Replace(q.Constraints[0].ParameterName, TableB.YearColumn.QualifiedName);
s = s.Replace(q.Constraints[1].ParameterName, TableB.MonthColumn.QualifiedName);
s = s.Replace(q.Constraints[2].ParameterName, TableB.UserIdColumn.QualifiedName);
Gebruik dan s met een InlineQuery.