Example #1
0
        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();
        }
Example #2
0
        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
        }
Example #3
0
 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;
        }
Example #5
0
 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;
 }
Example #6
0
        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);
            }
        }