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; }
+	}
+}