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(); })); }
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); } } }
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); } } } }