Dengan SubSonic 2 di luar kotak, Anda tidak bisa.
Ini mengatakan, Anda memiliki alternatif berikut:
Perpanjang SubSonic
Jika Anda sudah terbiasa dengan SubSonic, Anda dapat mempertimbangkan untuk menambahkan gabungan multi-kolom ke SubSonic itu sendiri.
Gunakan tampilan, Prosedur tersimpan, fungsi tabel
Jika Anda tidak ingin mengacaukan kode SubSonics, gunakan tampilan, prosedur tersimpan, dan/atau fungsi tabel di dalam server sql. SubSonic memudahkan untuk mengakses data dari tampilan dan prosedur tersimpan.
Gunakan InlineQuery
InlineQuery memungkinkan Anda untuk mengeksekusi sql apa pun - jika ini merupakan opsi untuk memiliki sql kosong dalam kode Anda.
Solusi buruk dengan InlineQuery
Jika Anda benar-benar ingin membuat kueri dengan SubSonic, Anda dapat mencoba ini:
SqlQuery q = DB.Select()
.From<TableA>()
.CrossJoin<TableB>()
.Where(TableA.YearColumn).IsEqualTo(0)
.And(TableA.MonthColumn).IsEqualTo(0)
.And(TableA.UseridColumn).IsEqualTo(0);
Buat pernyataan SQL, dan ganti nama parameter:
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);
Kemudian gunakan s dengan InlineQuery.