Dil

QuerySqlGenerator Sınıf

Tanım

Verilen SelectExpressioniçin alınacak IRelationalCommand bir sorgu SQL oluşturucu.

Bu tür genellikle veritabanı sağlayıcıları (ve diğer uzantılar) tarafından kullanılır. Genellikle uygulama kodunda kullanılmaz.

[System.Runtime.CompilerServices.Nullable(0)]
public class QuerySqlGenerator : Microsoft.EntityFrameworkCore.Query.SqlExpressionVisitor
[System.Runtime.CompilerServices.Nullable(0)]
public class QuerySqlGenerator : System.Linq.Expressions.ExpressionVisitor
public class QuerySqlGenerator : Microsoft.EntityFrameworkCore.Query.SqlExpressionVisitor
[<System.Runtime.CompilerServices.Nullable(0)>]
type QuerySqlGenerator = class
    inherit SqlExpressionVisitor
[<System.Runtime.CompilerServices.Nullable(0)>]
type QuerySqlGenerator = class
    inherit ExpressionVisitor
type QuerySqlGenerator = class
    inherit SqlExpressionVisitor
Public Class QuerySqlGenerator
Inherits SqlExpressionVisitor
Public Class QuerySqlGenerator
Inherits ExpressionVisitor
Devralma
Devralma
QuerySqlGenerator
Özellikler

Oluşturucular

Veri Akışı Adı Description
QuerySqlGenerator(QuerySqlGeneratorDependencies)

Verilen SelectExpressioniçin alınacak IRelationalCommand bir sorgu SQL oluşturucu.

Bu tür genellikle veritabanı sağlayıcıları (ve diğer uzantılar) tarafından kullanılır. Genellikle uygulama kodunda kullanılmaz.

Özellikler

Veri Akışı Adı Description
AliasSeparator

Varsayılan diğer ad ayırıcısı.

Dependencies

Bu hizmet için ilişkisel sağlayıcıya özgü bağımlılıklar.

Sql

Geçerli SQL komut oluşturucusu.

Yöntemler

Veri Akışı Adı Description
CheckComposableSql(String)

Belirli bir SQL dizesinin birleştirilebilir olup olmadığını denetler; örneğin, daha büyük bir SQL sorgusuna alt sorgu olarak eklenebilir.

CheckComposableSqlTrimmed(ReadOnlySpan<Char>)

Belirli bir SQL dizesinin birleştirilebilir olup olmadığını denetler; örneğin, daha büyük bir SQL sorgusuna alt sorgu olarak eklenebilir. Sağlanan sql boşluk ve açıklamalar için zaten kırpıldı.

GenerateEmptyProjection(SelectExpression)

SELECT ifadesi için boş bir projeksiyon için SQL oluşturur. Bu genellikle tek 1 bir değişmez değerdir, ancak farklı bir biçim gerektiren sağlayıcılar için geçersiz kılınabilir.

GenerateExists(ExistsExpression, Boolean)

EXISTS ifadesi için SQL oluşturur.

GenerateFrom(SelectExpression)

Verilen SELECT ifadesinin FROM yan tümcesi için SQL oluşturur.

GenerateIn(InExpression, Boolean)

IN ifadesi için SQL oluşturur.

GenerateLike(LikeExpression, Boolean)

LIKE ifadesi için SQL oluşturur.

GenerateLimitOffset(SelectExpression)

Verilen SELECT ifadesinin LIMIT/OFFSET yan tümceleri için SQL oluşturur.

GenerateOperator(SqlBinaryExpression)
Geçersiz.

SQL ikili işlemi için bir SQL işleci oluşturur.

GenerateOrderings(SelectExpression)

Verilen SELECT ifadesinin ORDER BY yan tümcesi için SQL oluşturur.

GenerateProjection(SelectExpression)

Verilen SELECT ifadesinin projeksiyon yan tümcesi için SQL oluşturur.

GeneratePseudoFromClause()

Sahte FROM yan tümcesi için SQL oluşturur. Bu, sorgunun gerçek FROM yan tümcesi olmadığında bazı sağlayıcılar için gereklidir.

GenerateRootCommand(Expression)

Verilen en üst düzey sorgu ifadesi için komutu oluşturur. Bu, sağlayıcıların bir ifadenin üst düzey olduğunda farklı işleme gerektirmesi durumunda araya müdahale etmesine olanak tanır.

GenerateSetOperation(SetOperationBase)

Ayarlanmış bir işlem için SQL oluşturur.

GenerateSetOperationOperand(SetOperationBase, SelectExpression)

Bir küme işlemi içindeki bir işlenen için SQL oluşturur.

GenerateTagsHeaderComment(ISet<String>)

Etiketler için baş açıklama oluşturur.

GenerateTagsHeaderComment(SelectExpression)
Geçersiz.

Etiketler için baş açıklama oluşturur.

GenerateTop(SelectExpression)

Verilen SELECT ifadesinin TOP yan tümcesi için SQL oluşturur.

GenerateValues(ValuesExpression)

VALUES ifadesi için SQL oluşturur.

GetCommand(Expression)

Sorgu ifadesi için ilişkisel bir komut alır.

GetCommand(SelectExpression)

için ilişkisel bir SelectExpressionkomut alır.

GetOperator(SqlBinaryExpression)

SQL ikili işlemi için SQL işlecini alır.

RequiresParentheses(SqlExpression, SqlExpression)

Dış SQL ifadesi için SQL oluşturulurken iç SQL ifadesinin parantez içine alınması gerekip gerekmediğini belirten bir bool değeri döndürür.

TryGenerateWithoutWrappingSelect(SelectExpression)

Mümkünse, select sarmalama olmadan sağlanan selectExpression içinde yer alan ifadeyi oluşturur. Bu, select içinde sarmalanması gerekmeden üst düzey deyimler olarak görüntülenebilir, küme işlemleri ve DEĞERLER için yapılabilir.

TryGetOperatorInfo(SqlExpression, Int32, Boolean)

Verilen expressiondeğerinin önceliğini ve ilişkilendirmesini temsil eden sayısal bir değer döndürür. Bunlar ifade etrafında parantez oluşturulup oluşturulmayacağını denetler.

VisitAtTimeZone(AtTimeZoneExpression)

AT TIME ZONE ifadesi için SQL oluşturur.

VisitCase(CaseExpression)

CASE/WHEN yapısı için SQL oluşturur.

VisitCollate(CollateExpression)

COLLATE ifadesi için SQL oluşturur.

VisitColumn(ColumnExpression)

Bir sütun için SQL oluşturur.

VisitCrossApply(CrossApplyExpression)

Çapraz uygulama için SQL oluşturur.

VisitCrossJoin(CrossJoinExpression)

Çapraz birleşim için SQL oluşturur.

VisitDelete(DeleteExpression)

DELETE ifadesi için SQL oluşturur

VisitDistinct(DistinctExpression)

Toplama işlevi çağırmasında DISTINCT () yan tümcesi için SQL oluşturur.

VisitExcept(ExceptExpression)

EXCEPT kümesi işlemi için SQL oluşturur.

VisitExists(ExistsExpression)

EXISTS ifadesi için SQL oluşturur.

VisitExtension(Expression)

Verilen SelectExpressioniçin alınacak IRelationalCommand bir sorgu SQL oluşturucu.

Bu tür genellikle veritabanı sağlayıcıları (ve diğer uzantılar) tarafından kullanılır. Genellikle uygulama kodunda kullanılmaz.

VisitExtension(Expression)

Verilen SelectExpressioniçin alınacak IRelationalCommand bir sorgu SQL oluşturucu.

Bu tür genellikle veritabanı sağlayıcıları (ve diğer uzantılar) tarafından kullanılır. Genellikle uygulama kodunda kullanılmaz.

(Devralındığı yer: SqlExpressionVisitor)
VisitFromSql(FromSqlExpression)

Kullanıcı tarafından sağlanan bir SQL sorgusu için SQL oluşturur.

VisitFullJoin(FullJoinExpression)

Tam birleşim için SQL oluşturur.

VisitIn(InExpression)

IN ifadesi için SQL oluşturur.

VisitInnerJoin(InnerJoinExpression)

İç birleşim için SQL oluşturur.

VisitIntersect(IntersectExpression)

INTERSECT kümesi işlemi için SQL oluşturur.

VisitJsonScalar(JsonScalarExpression)

JSON skaler arama ifadesi için SQL oluşturur.

VisitLeftJoin(LeftJoinExpression)

Sol birleşim için SQL oluşturur.

VisitLike(LikeExpression)

LIKE ifadesi için SQL oluşturur.

VisitOrdering(OrderingExpression)

SELECT ORDER BY yan tümcesinde tek bir sıralama için SQL oluşturur.

VisitOuterApply(OuterApplyExpression)

Dış uygulama için SQL oluşturur.

VisitProjection(ProjectionExpression)

SELECT ifadesinde tek bir projeksiyon için SQL oluşturur.

VisitRightJoin(RightJoinExpression)

Doğru birleşim için SQL oluşturur.

VisitRowNumber(RowNumberExpression)

Satır numarası ifadesi için SQL oluşturur.

VisitRowValue(RowValueExpression)

Satır değeri ifadesi için SQL oluşturur.

VisitScalarSubquery(ScalarSubqueryExpression)

Skaler alt sorgu için SQL oluşturur.

VisitSelect(SelectExpression)

SELECT ifadesi için SQL oluşturur.

VisitSqlBinary(SqlBinaryExpression)

İkili ifade için SQL oluşturur.

VisitSqlConstant(SqlConstantExpression)

Bir sabit için SQL oluşturur.

VisitSqlFragment(SqlFragmentExpression)

Rastgele bir parça için SQL oluşturur.

VisitSqlFunction(SqlFunctionExpression)

İşlev çağrısı için SQL oluşturur.

VisitSqlParameter(SqlParameterExpression)

Bir parametre için SQL oluşturur.

VisitSqlUnary(SqlUnaryExpression)

Birli ifade için SQL oluşturur.

VisitSubSelect(ScalarSubqueryExpression)

Verilen SelectExpressioniçin alınacak IRelationalCommand bir sorgu SQL oluşturucu.

Bu tür genellikle veritabanı sağlayıcıları (ve diğer uzantılar) tarafından kullanılır. Genellikle uygulama kodunda kullanılmaz.

VisitTable(TableExpression)

Bir sütun için SQL oluşturur.

VisitTableValuedFunction(TableValuedFunctionExpression)

Tablo değerli işlev çağırması için SQL oluşturur.

VisitUnion(UnionExpression)

UNION kümesi işlemi için SQL oluşturur.

VisitUpdate(UpdateExpression)

UPDATE ifadesi için SQL oluşturur.

VisitValues(ValuesExpression)

VALUES ifadesi için SQL oluşturur.

Şunlara uygulanır