sql >> Databasteknik >  >> RDS >> Mysql

subsonic 2 går med i flera kolumner

Med SubSonic 2 ur kartongen kan du inte.

Som sagt, du har följande alternativ:

Utöka SubSonic

Om du redan är bekant med SubSonic kan du överväga att lägga till flerkolumnskopplingar till SubSonic själv.

Använd vyer, lagrade procedurer, tabellfunktioner

Om du inte vill bråka med SubSonics-kod, använd vyer, lagrade procedurer och/eller tabellfunktioner inom sql-servern. SubSonic gör det enkelt att komma åt data från vyer och lagrade procedurer.

Använd en InlineQuery

InlineQuery låter dig köra valfri sql - om det är ett alternativ att ha bare sql i din kod.

Ful lösning med InlineQuery

Om du absolut vill skapa din fråga med SubSonic kan du prova detta:

SqlQuery q = DB.Select()
  .From<TableA>()
  .CrossJoin<TableB>()
  .Where(TableA.YearColumn).IsEqualTo(0)
  .And(TableA.MonthColumn).IsEqualTo(0)
  .And(TableA.UseridColumn).IsEqualTo(0);

Bygg SQL-satsen och ersätt parameternamnen:

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);

Använd sedan s med en InlineQuery.




  1. data som laddas från SQLitE databse sparas inte i modellklassen ArrayList android

  2. Hur man duplicerar tabell i MySQL

  3. Oracle Analytic-funktioner - återställning av en fönsterklausul

  4. Hur man får in ett värde för trigger