static void Main(string[] args) { DbMonitor = new Devart.Data.Oracle.OracleMonitor(); DbMonitor.IsActive = true; using (var context = new DAL.FisContext()) { var config = Devart.Data.Oracle.Entity.Configuration.OracleEntityProviderConfig.Instance; // toto nastavení je platné pro všechny následující Query dotazy config.QueryOptions.CaseInsensitiveLike = true; var rkdavs = context.Set <Rkdav>(); //var data = rkdavs.ToList(); //var data = rkdavs.Where(p => p.RKDAV == "1D ").ToList(); //var data = rkdavs.Where(p => OracleFunctions.Like(p.RKDAV, "1D x")).ToList(); //var data = rkdavs.Where(p => EF.Functions.Like(p.RKDAV, "'1D '", "*")).ToList(); //var data = rkdavs.Where(p => p.RKDAV.Contains("1d")).ToList(); var data = rkdavs.Where(p => p.NAZEV.Contains("pá") || p.RKDAV.Contains("pá")).ToList(); WriteLine("---------------------------------------"); data.ForEach(p => WriteLine($"'{p.RKDAV}' : {p.NAZEV}")); WriteLine($"Found {data.Count} items."); var ent = context.Set <Entity>(); var entData = ent.Where(p => p.NAZEV.Contains("maj")).ToList(); WriteLine(); WriteLine("---------------------------------------"); entData.ForEach(p => WriteLine($"'{p.ENTITA}' : {p.NAZEV}")); WriteLine($"Found {data.Count} items."); } WriteLine(); WriteLine("Finnish."); ReadKey(); }
static void Main(string[] args) { Devart.Data.Oracle.OracleMonitor monitor = new Devart.Data.Oracle.OracleMonitor() { IsActive = true }; Devart.Data.Oracle.Entity.Configuration.OracleEntityProviderConfig devartConfig = Devart.Data.Oracle.Entity.Configuration.OracleEntityProviderConfig.Instance; devartConfig.Workarounds.IgnoreSchemaName = true; devartConfig.Workarounds.DisableQuoting = true; devartConfig.CodeFirstOptions.UseDateTimeAsDate = true; devartConfig.CodeFirstOptions.UseNonLobStrings = true; devartConfig.CodeFirstOptions.UseNonUnicodeStrings = true; devartConfig.CodeFirstOptions.TruncateLongDefaultNames = true; using (var bootstrapper = AbpBootstrapper.Create <TestConsoleAppModule>()) { bootstrapper.IocManager .IocContainer .AddFacility <LoggingFacility>(f => f.UseLog4Net().WithConfig("log4net.config")); bootstrapper.Initialize(); //Getting a Tester object from DI and running it using (var tester = bootstrapper.IocManager.ResolveAsDisposable <Tester>()) { tester.Object.TestEntitiyMapToDto(); } //Disposes tester and all it's dependencies Console.WriteLine("Press enter to exit..."); Console.ReadLine(); } #region 手工创建DbContext ////UbpConfig config = UbpConfig.Instance; ////IDatabaseInitializer databaseInitializer = new DatabaseInitializer(); ////databaseInitializer.Initialize(config.DbContextInitializerConfig); //Database.SetInitializer<UbpDbContext>(null); ////Database.SetInitializer(new OracleDevartCreateDatabaseIfNotExistsWithSeed()); ////Database.SetInitializer(new MigrateDatabaseToLatestVersion<UbpDbContext, OracleDevartMigrationsConfiguration>()); UbpDbContext dbContext = new UbpDbContext("default"); ////if (!dbContext.Database.Exists()) ////{ //// Database.SetInitializer(new OracleDevartCreateDatabaseIfNotExistsWithSeed()); ////} ////else ////{ //// Database.SetInitializer(new MigrateDatabaseToLatestVersion<UbpDbContext, OracleDevartMigrationsConfiguration>()); ////} Add(dbContext); //dbContext.DisableFilter(AbpDataFilters.SoftDelete); //Query(dbContext); //Console.WriteLine("Press enter to exit..."); //Console.ReadLine(); #endregion }
public Startup(IConfiguration configuration) { Devart.Data.Oracle.OracleMonitor om = new Devart.Data.Oracle.OracleMonitor() { IsActive = true }; Configuration = configuration; }
/// <summary> /// 对Devart的全局配置进行初始化。 /// </summary> private void InitDevart() { if (ConfigurationManager.AppSettings["IgnoreSchemaName"] != null) { _IgnoreSchemaName = Boolean.Parse(ConfigurationManager.AppSettings["IgnoreSchemaName"]); } if (ConfigurationManager.AppSettings["DisableQuoting"] != null) { _DisableQuoting = Boolean.Parse(ConfigurationManager.AppSettings["DisableQuoting"]); } if (ConfigurationManager.AppSettings["UseDateTimeAsDate"] != null) { _UseDateTimeAsDate = Boolean.Parse(ConfigurationManager.AppSettings["UseDateTimeAsDate"]); } if (ConfigurationManager.AppSettings["UseNonLobStrings"] != null) { _UseNonLobStrings = Boolean.Parse(ConfigurationManager.AppSettings["UseNonLobStrings"]); } if (ConfigurationManager.AppSettings["UseNonUnicodeStrings"] != null) { _UseNonUnicodeStrings = Boolean.Parse(ConfigurationManager.AppSettings["UseNonUnicodeStrings"]); } if (ConfigurationManager.AppSettings["TruncateLongDefaultNames"] != null) { _TruncateLongDefaultNames = Boolean.Parse(ConfigurationManager.AppSettings["TruncateLongDefaultNames"]); } if (ConfigurationManager.AppSettings["RunOracleMonitor"] != null) { _RunOracleMonitor = Boolean.Parse(ConfigurationManager.AppSettings["RunOracleMonitor"]); } if (RunOracleMonitor) { // We have turned on OracleMonitor to view executed DDL и DML statements in Devart dbMonitor application Devart.Data.Oracle.OracleMonitor monitor = new Devart.Data.Oracle.OracleMonitor() { IsActive = true }; } //-------------------------------------------------------------- // You use the capability for configuring the behavior of the EF-provider: Devart.Data.Oracle.Entity.Configuration.OracleEntityProviderConfig devartConfig = Devart.Data.Oracle.Entity.Configuration.OracleEntityProviderConfig.Instance; // Now, you switch off schema name generation while generating DDL scripts and DML: devartConfig.Workarounds.IgnoreSchemaName = IgnoreSchemaName; devartConfig.Workarounds.DisableQuoting = DisableQuoting; devartConfig.CodeFirstOptions.UseDateTimeAsDate = UseDateTimeAsDate; devartConfig.CodeFirstOptions.UseNonLobStrings = UseNonLobStrings; devartConfig.CodeFirstOptions.UseNonUnicodeStrings = UseNonUnicodeStrings; devartConfig.CodeFirstOptions.TruncateLongDefaultNames = TruncateLongDefaultNames; //devartConfig.DatabaseScript.Column.MaxStringSize = Devart.Data.Oracle.Entity.Configuration.OracleMaxStringSize.Standard; }
private void InintDevartOracle() { Devart.Data.Oracle.OracleMonitor monitor = new Devart.Data.Oracle.OracleMonitor() { IsActive = true }; Devart.Data.Oracle.Entity.Configuration.OracleEntityProviderConfig devartConfig = Devart.Data.Oracle.Entity.Configuration.OracleEntityProviderConfig.Instance; devartConfig.Workarounds.IgnoreSchemaName = true; devartConfig.Workarounds.DisableQuoting = true; devartConfig.CodeFirstOptions.UseDateTimeAsDate = true; devartConfig.CodeFirstOptions.UseNonLobStrings = true; devartConfig.CodeFirstOptions.UseNonUnicodeStrings = true; devartConfig.CodeFirstOptions.TruncateLongDefaultNames = true; //devartConfig.DatabaseScript.Column.MaxStringSize = Devart.Data.Oracle.Entity.Configuration.OracleMaxStringSize.Standard; }
static void Main(string[] args) { Devart.Data.Oracle.OracleMonitor monitor = new Devart.Data.Oracle.OracleMonitor() { IsActive = true }; //-------------------------------------------------------------- // You use the capability for configuring the behavior of the EF-provider: //Devart.Data.Oracle.Entity.Configuration.OracleEntityProviderConfig config = // Devart.Data.Oracle.Entity.Configuration.OracleEntityProviderConfig.Instance; // Now, you switch off schema name generation while generating // DDL scripts and DML: //config.Workarounds.IgnoreSchemaName = true; //-------------------------------------------------------------- /*-------------------------------------------------------------- * You can set up a connection string for DbContext in different ways. * It can be placed into the app.config (web.config) file. * The connection string name must be identical to the DbContext descendant name. * * <add name="MyDbContext" connectionString="Data Source=ora1020; * User Id=test;Password=test;" providerName="Devart.Data.Oracle" /> * * After that, you create a context instance, while a connection string is * enabled automatically: * MyDbContext context = new MyDbContext(); * ---------------------------------------------------------------*/ /*-------------------------------------------------------------- * And now it is possible to create an instance of the provider-specific connection * and send it to the context constructor, like we did in this application. * That allows us to use the StateChange connection event to change the Oracle * current schema on its occurrence. Thus, we can connect as one user and * work on a schema owned by another user. * ---------------------------------------------------------------*/ //DbConnection con = new Devart.Data.Oracle.OracleConnection( // "Data Source=ora1020;User Id=scott;Password=tiger;"); //con.StateChange += new StateChangeEventHandler(Connection_StateChange); /*---------------------------------------------------------------*/ /*-------------------------------------------------------------- * You can choose one of database initialization * strategies or turn off initialization: * --------------------------------------------------------------*/ //System.Data.Entity.Database.SetInitializer // <MyDbContext>(new MyDbContextDropCreateDatabaseAlways()); /*System.Data.Entity.Database.SetInitializer * <MyOracleContext>(new MyDbContextCreateDatabaseIfNotExists()); * System.Data.Entity.Database.SetInitializer * <MyOracleContext>(new MyDbContextDropCreateDatabaseIfModelChanges()); * System.Data.Entity.Database.SetInitializer<MyOracleContext>(null);*/ //-------------------------------------------------------------- /*-------------------------------------------------------------- * Let's create MyDbContext and execute a database query. * Depending on selected database initialization strategy, * database tables can be deleted/added, and filled with source data. * ---------------------------------------------------------------*/ //using (MyDbContext context = new MyDbContext(con)) try { ConsoleKeyInfo option; do { Console.WriteLine("(1) - Product list with categories"); Console.WriteLine("(2) - Product list"); Console.WriteLine("(0) - Exit"); Console.WriteLine(""); Console.Write("Option: "); option = Console.ReadKey(); Console.Clear(); switch (option.KeyChar) { case '1': using (MyOracleDbContext context = new MyOracleDbContext()) { var query = context.Products.Include("Category") .Where(p => p.Price > 20.0) .ToList(); foreach (var product in query) { Console.WriteLine("{0,-10} | {1,-50} | {2} | {3}", product.ProductID, product.ProductName, product.Category.CategoryName, product.OrderNumberID); } if (query.Count() <= 0) { Console.WriteLine("No existen registros..."); } Console.ReadLine(); } break; case '2': using (MyOracleDbContext context = new MyOracleDbContext()) { var query = context.Products .Where(p => p.Price > 20.0) .ToList(); foreach (var product in query) { Console.WriteLine("{0,-10} | {1,-50} | {2}", product.ProductID, product.ProductName, product.OrderNumberID); } if (query.Count() <= 0) { Console.WriteLine("No existen registros..."); } Console.ReadLine(); } break; } Console.Clear(); } while (option.KeyChar != '0'); } catch (Exception ex) { throw new Exception(ex.Message, ex.InnerException); } }