Bagikan melalui


QuerySqlGenerator Kelas

Definisi

Generator SQL kueri untuk mendapatkan IRelationalCommand untuk diberikan SelectExpression.

Jenis ini biasanya digunakan oleh penyedia database (dan ekstensi lainnya). Umumnya tidak digunakan dalam kode aplikasi.

public class QuerySqlGenerator : Microsoft.EntityFrameworkCore.Query.SqlExpressionVisitor
type QuerySqlGenerator = class
    inherit SqlExpressionVisitor
Public Class QuerySqlGenerator
Inherits SqlExpressionVisitor
Warisan

Konstruktor

QuerySqlGenerator(QuerySqlGeneratorDependencies)

Membuat instans QuerySqlGenerator baru kelas.

Properti

AliasSeparator

Pemisah alias default.

Dependencies

Dependensi khusus penyedia relasional untuk layanan ini.

Sql

Penyusun perintah SQL saat ini.

Metode

CheckComposableSql(String)

Memeriksa apakah string SQL tertentu dapat dikomposisikan, yaitu dapat disematkan sebagai subkueri dalam kueri SQL yang lebih besar.

CheckComposableSqlTrimmed(ReadOnlySpan<Char>)

Memeriksa apakah string SQL tertentu dapat dikomposisikan, yaitu dapat disematkan sebagai subkueri dalam kueri SQL yang lebih besar. yang disediakan sql sudah dipangkas untuk spasi kosong dan komentar.

GenerateEmptyProjection(SelectExpression)

Menghasilkan proyeksi kosong untuk SelectExpression.

GenerateExists(ExistsExpression, Boolean)

Menghasilkan SQL untuk ekspresi EXISTS.

GenerateIn(InExpression, Boolean)

Menghasilkan SQL untuk ekspresi IN.

GenerateLike(LikeExpression, Boolean)

Menghasilkan SQL untuk ekspresi LIKE.

GenerateLimitOffset(SelectExpression)

Menghasilkan LIMIT... OFFSET... konstruksi dalam perintah relasional

GenerateOperator(SqlBinaryExpression)
Kedaluwarsa.

Menghasilkan operator SQL untuk operasi biner SQL.

GenerateOrderings(SelectExpression)

Menghasilkan klausa ORDER BY dalam perintah relasional

GeneratePseudoFromClause()

Menghasilkan klausa pseudo FROM. Diperlukan oleh beberapa penyedia saat kueri tidak memiliki klausa FROM yang sebenarnya.

GenerateRootCommand(Expression)

Menghasilkan perintah untuk ekspresi kueri tingkat atas yang diberikan. Ini memungkinkan penyedia untuk mencegat jika ekspresi memerlukan pemrosesan yang berbeda ketika berada di tingkat atas.

GenerateSetOperation(SetOperationBase)

Menghasilkan operasi yang ditetapkan dalam perintah relasional.

GenerateSetOperationOperand(SetOperationBase, SelectExpression)

Menghasilkan operan untuk operasi set tertentu dalam perintah relasional.

GenerateTagsHeaderComment(ISet<String>)

Menghasilkan komentar kepala untuk tag.

GenerateTagsHeaderComment(SelectExpression)
Kedaluwarsa.

Menghasilkan komentar kepala untuk tag.

GenerateTop(SelectExpression)

Menghasilkan konstruksi TOP dalam perintah relasional

GenerateValues(ValuesExpression)

Menghasilkan ekspresi VALUES.

GetCommand(Expression)

Mendapatkan perintah relasional untuk ekspresi kueri.

GetCommand(SelectExpression)

Mendapatkan perintah relasional untuk SelectExpression.

GetOperator(SqlBinaryExpression)

Mendapatkan operator SQL untuk operasi biner SQL.

RequiresParentheses(SqlExpression, SqlExpression)

Mengembalikan nilai bool yang menunjukkan apakah ekspresi SQL dalam harus dimasukkan ke dalam tanda kurung saat membuat SQL untuk ekspresi SQL luar.

TryGenerateWithoutWrappingSelect(SelectExpression)

Jika memungkinkan, menghasilkan ekspresi yang terkandung dalam yang disediakan selectExpression tanpa membungkus SELECT. Ini dapat dilakukan untuk mengatur operasi dan NILAI, yang dapat muncul sebagai pernyataan tingkat atas tanpa perlu dibungkus dalam SELECT.

TryGetOperatorInfo(SqlExpression, Int32, Boolean)

Mengembalikan nilai numerik yang mewakili prioritas dari yang diberikan expression, serta asokiativitasnya. Kontrol ini apakah tanda kurung dihasilkan di sekitar ekspresi.

VisitAtTimeZone(AtTimeZoneExpression)

Mengunjungi anak-anak ekspresi "zona waktu" sql.

VisitAtTimeZone(AtTimeZoneExpression)

Mengunjungi anak-anak ekspresi "zona waktu" sql.

(Diperoleh dari SqlExpressionVisitor)
VisitCase(CaseExpression)

Mengunjungi anak-anak dari ekspresi kasus.

VisitCollate(CollateExpression)

Mengunjungi anak-anak ekspresi kolagen.

VisitCollate(CollateExpression)

Mengunjungi anak-anak ekspresi kolagen.

(Diperoleh dari SqlExpressionVisitor)
VisitColumn(ColumnExpression)

Mengunjungi anak-anak ekspresi kolom.

VisitCrossApply(CrossApplyExpression)

Mengunjungi anak-anak dari ekspresi penerapan silang.

VisitCrossJoin(CrossJoinExpression)

Mengunjungi anak-anak ekspresi gabungan silang.

VisitDelete(DeleteExpression)

Mengunjungi anak-anak dari ekspresi penghapusan.

VisitDelete(DeleteExpression)

Mengunjungi anak-anak dari ekspresi penghapusan.

(Diperoleh dari SqlExpressionVisitor)
VisitDistinct(DistinctExpression)

Mengunjungi anak-anak dari ekspresi yang berbeda.

VisitDistinct(DistinctExpression)

Mengunjungi anak-anak dari ekspresi yang berbeda.

(Diperoleh dari SqlExpressionVisitor)
VisitExcept(ExceptExpression)

Mengunjungi anak-anak dari ekspresi kecuali.

VisitExists(ExistsExpression)

Mengunjungi anak-anak dari ekspresi yang ada.

VisitExtension(Expression)

Generator SQL kueri untuk mendapatkan IRelationalCommand untuk diberikan SelectExpression.

Jenis ini biasanya digunakan oleh penyedia database (dan ekstensi lainnya). Umumnya tidak digunakan dalam kode aplikasi.

(Diperoleh dari SqlExpressionVisitor)
VisitFromSql(FromSqlExpression)

Mengunjungi anak-anak dari ekspresi sql.

VisitIn(InExpression)

Mengunjungi anak-anak dalam ekspresi.

VisitInnerJoin(InnerJoinExpression)

Mengunjungi anak-anak dari ekspresi gabungan dalam.

VisitIntersect(IntersectExpression)

Mengunjungi anak-anak dari ekspresi bersinggungan.

VisitJsonScalar(JsonScalarExpression)

Mengunjungi anak-anak ekspresi skalar JSON.

VisitJsonScalar(JsonScalarExpression)

Mengunjungi anak-anak ekspresi skalar JSON.

(Diperoleh dari SqlExpressionVisitor)
VisitLeftJoin(LeftJoinExpression)

Mengunjungi anak-anak dari ekspresi gabungan kiri.

VisitLike(LikeExpression)

Mengunjungi anak-anak dari ekspresi seperti itu.

VisitOrdering(OrderingExpression)

Mengunjungi anak-anak dari ekspresi pemesanan.

VisitOuterApply(OuterApplyExpression)

Mengunjungi anak-anak dari ekspresi terapkan luar.

VisitProjection(ProjectionExpression)

Mengunjungi anak-anak dari ekspresi proyeksi.

VisitRowNumber(RowNumberExpression)

Mengunjungi anak-anak ekspresi nomor baris.

VisitRowValue(RowValueExpression)

Mengunjungi anak-anak ekspresi nilai baris.

VisitRowValue(RowValueExpression)

Mengunjungi anak-anak ekspresi nilai baris.

(Diperoleh dari SqlExpressionVisitor)
VisitScalarSubquery(ScalarSubqueryExpression)

Mengunjungi anak-anak ekspresi subkueri skalar.

VisitScalarSubquery(ScalarSubqueryExpression)

Mengunjungi anak-anak ekspresi subkueri skalar.

(Diperoleh dari SqlExpressionVisitor)
VisitSelect(SelectExpression)

Mengunjungi anak-anak dari ekspresi pemilihan.

VisitSqlBinary(SqlBinaryExpression)

Mengunjungi anak-anak ekspresi biner sql.

VisitSqlConstant(SqlConstantExpression)

Mengunjungi anak-anak ekspresi konstanta sql.

VisitSqlFragment(SqlFragmentExpression)

Mengunjungi anak-anak dari ekspresi fragmen sql.

VisitSqlFunction(SqlFunctionExpression)

Mengunjungi anak-anak dari ekspresi fungsi sql.

VisitSqlParameter(SqlParameterExpression)

Mengunjungi anak-anak dari ekspresi parameter sql.

VisitSqlUnary(SqlUnaryExpression)

Mengunjungi anak-anak dari ekspresi unary sql.

VisitSubSelect(ScalarSubqueryExpression)

Generator SQL kueri untuk mendapatkan IRelationalCommand untuk diberikan SelectExpression.

Jenis ini biasanya digunakan oleh penyedia database (dan ekstensi lainnya). Umumnya tidak digunakan dalam kode aplikasi.

VisitSubSelect(ScalarSubqueryExpression)

Generator SQL kueri untuk mendapatkan IRelationalCommand untuk diberikan SelectExpression.

Jenis ini biasanya digunakan oleh penyedia database (dan ekstensi lainnya). Umumnya tidak digunakan dalam kode aplikasi.

(Diperoleh dari SqlExpressionVisitor)
VisitTable(TableExpression)

Mengunjungi anak-anak ekspresi tabel.

VisitTableValuedFunction(TableValuedFunctionExpression)

Mengunjungi anak-anak ekspresi fungsi bernilai tabel.

VisitTableValuedFunction(TableValuedFunctionExpression)

Mengunjungi anak-anak ekspresi fungsi bernilai tabel.

(Diperoleh dari SqlExpressionVisitor)
VisitUnion(UnionExpression)

Mengunjungi anak-anak ekspresi serikat.

VisitUpdate(UpdateExpression)

Mengunjungi anak-anak ekspresi pembaruan.

VisitUpdate(UpdateExpression)

Mengunjungi anak-anak ekspresi pembaruan.

(Diperoleh dari SqlExpressionVisitor)
VisitValues(ValuesExpression)

Mengunjungi anak-anak ekspresi nilai.

VisitValues(ValuesExpression)

Mengunjungi anak-anak ekspresi nilai.

(Diperoleh dari SqlExpressionVisitor)

Berlaku untuk