示例#1
0
        protected override TestServer CreateTestServer()
        {
            string connectionString;

            using (var context = new CustomersContext())
            {
                context.Database.Initialize(force: false);
                connectionString = context.Database.Connection.ConnectionString;
            }
            SqlSyntax syntax;

            using (var connection = new SqlConnection(connectionString))
            {
                syntax = new SqlServerSyntax(SqlServerSyntax.GetVersion(connection));
            }
            var sqlContext = new ODataSqlContext(syntax, new DefaultSqlExecutor(() => new SqlConnection(connectionString)));

            var service = new ODataService();

            return(new TestServer(url =>
            {
                var query = sqlContext.Query <ODataEntity>("(SELECT * FROM customers)");
                var result = service.Execute(query, HttpUtility.ParseQueryString(url.Query));
                return result.Results.ToString();
            }));
        }
示例#2
0
 public void SqlGetVersion()
 {
     using (var efContext = new CustomersContext())
     {
         efContext.Database.Initialize(force: false);
         using (var connection = new SqlConnection(efContext.Database.Connection.ConnectionString))
         {
             SqlServerSyntax.GetVersion(connection).ShouldEqual(SqlServerSyntax.Version.Sql2012);
         }
     }
 }
示例#3
0
 public void SqlGetVersion([Values] bool useSystemDataSqlClient)
 {
     using (var efContext = new CustomersContext())
     {
         efContext.Database.Initialize(force: false);
         using (var connection = useSystemDataSqlClient
             ? new SqlConnection(efContext.Database.Connection.ConnectionString).As <IDbConnection>()
             : new Microsoft.Data.SqlClient.SqlConnection(efContext.Database.Connection.ConnectionString))
         {
             SqlServerSyntax.GetVersion(connection).ShouldEqual(SqlServerSyntax.Version.Sql2012);
         }
     }
 }
 private void DropTables(IDbConnection cn, SqlServerSyntax syntax, Type[] modelClasses)
 {
     foreach (var tbl in modelClasses)
     {
         if (syntax.TableExists(cn, tbl))
         {
             cn.Execute($"DELETE {syntax.GetTableName(tbl)}");
             var obj = TableInfo.FromModelType(tbl, "dbo");
             syntax.FindObjectId(cn, obj);
             var drop = new DropTable(syntax, obj);
             foreach (var cmd in drop.SqlCommands(cn))
             {
                 cn.Execute(cmd);
             }
         }
     }
 }