Mercurial > pub > bltoolkit
diff Source/Data/Sql/SqlProvider/ISqlProvider.cs @ 0:f990fcb411a9
Копия текущей версии из github
author | cin |
---|---|
date | Thu, 27 Mar 2014 21:46:09 +0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Source/Data/Sql/SqlProvider/ISqlProvider.cs Thu Mar 27 21:46:09 2014 +0400 @@ -0,0 +1,38 @@ +using System; +using System.Linq.Expressions; +using System.Reflection; +using System.Text; + +namespace BLToolkit.Data.Sql.SqlProvider +{ + using DataProvider; + + public interface ISqlProvider + { + int CommandCount (SqlQuery sqlQuery); + int BuildSql (int commandNumber, SqlQuery sqlQuery, StringBuilder sb, int indent, int nesting, bool skipAlias); + ISqlExpression ConvertExpression (ISqlExpression expression); + ISqlPredicate ConvertPredicate (ISqlPredicate predicate); + SqlQuery Finalize (SqlQuery sqlQuery); + + StringBuilder BuildTableName (StringBuilder sb, string database, string owner, string table); + object Convert (object value, ConvertType convertType); + LambdaExpression ConvertMember (MemberInfo mi); + ISqlExpression GetIdentityExpression(SqlTable table, SqlField identityField, bool forReturning); + + string Name { get; } + SqlQuery SqlQuery { get; set; } + + bool SkipAcceptsParameter { get; } + bool TakeAcceptsParameter { get; } + bool IsSkipSupported { get; } + bool IsTakeSupported { get; } + bool IsSubQueryTakeSupported { get; } + bool IsSubQueryColumnSupported { get; } + bool IsCountSubQuerySupported { get; } + bool IsIdentityParameterRequired { get; } + bool IsApplyJoinSupported { get; } + bool IsInsertOrUpdateSupported { get; } + bool CanCombineParameters { get; } + } +}