示例#1
0
        public OracleSchemaTest()
        {
            const string connectionStringName = "OracleELinq";

            //DbConfiguration.InitializeDLinq<System.Data.Linq.Binary>();

            if (!DbConfiguration.Items.TryGetValue(connectionStringName, out dbConfiguration))
            {
                dbConfiguration = DbConfiguration.Configure(connectionStringName)
                                  .SetSqlLogger(() => new SqlLog(Console.Out))
                ;
            }

            DataTable tb = null;

            using (var conn = dbConfiguration.DbProviderFactory.CreateConnection())
            {
                conn.ConnectionString = dbConfiguration.ConnectionString;
                conn.Open();
                tb = conn.GetSchema("DATATYPES", null);
            }


            tb.WriteXml(Console.Out);

            var items = tb.Rows.Cast <DataRow>().Select(p => p["TypeName"].ToString()).ToArray();

            foreach (DataRow item in tb.Rows)
            {
                Console.WriteLine(string.Format("TypeName:{0},ProviderDbType:{1},DataType:{2}"
                                                , item["TypeName"]
                                                , item["ProviderDbType"]
                                                , item["DataType"]));
            }
        }
示例#2
0
        public DLinqConnection()
        {
            const string connectionStringName = "Northwind";

            //DbConfiguration.InitializeDLinq<System.Data.Linq.Binary>();

            if (!DbConfiguration.Items.TryGetValue(connectionStringName, out dbConfiguration))
            {
                dbConfiguration = DbConfiguration.Configure(connectionStringName)
                                  .SetSqlLogger(() => new SqlLog(Console.Out))
                                  .AddFromAssemblyOf <NLite.Data.Test.LinqToSql.Customers>(p => p.HasAttribute <System.Data.Linq.Mapping.TableAttribute>(false));
            }
            var customerMapper = dbConfiguration.GetClass <Customers>();

            Assert.IsNotNull(customerMapper);
            var orderMapper = dbConfiguration.GetClass <Orders>();

            Assert.IsNotNull(orderMapper);
            var employeesMapper = dbConfiguration.GetClass <Employees>();

            Assert.IsNotNull(employeesMapper);
            var employeeTerritoriesMapper = dbConfiguration.GetClass <EmployeeTerritories>();

            Assert.IsNotNull(employeeTerritoriesMapper);
            var ProductsMapper = dbConfiguration.GetClass <Products>();

            Assert.IsNotNull(ProductsMapper);
            var SuppliersMapper = dbConfiguration.GetClass <Suppliers>();

            Assert.IsNotNull(SuppliersMapper);
            var TerritoriesMapper = dbConfiguration.GetClass <Territories>();

            Assert.IsNotNull(TerritoriesMapper);
        }
示例#3
0
        private static void AddMainDb(string container, string dbConnectionString, string providerName, string entityAssmbly, bool isFromDB, string defaultContainer, ILoggerFactory loggerFactory = null)
        {
            //var entityAssmbly = config.GetSection("appSettings").GetValue<string>("ENTITY_ASSMBLY");
            DbContextOption dbContextOption = null;

            if (isFromDB)
            {
                dbContextOption = GetMainDbContextOption(new DbContextOption
                {
                    Container          = container,
                    ConnectionString   = dbConnectionString,
                    ModuleAssemblyName = entityAssmbly,
                    Provider           = providerName,
                    LogggerFactory     = loggerFactory
                }, defaultContainer);
                //dbContextOption.ModuleAssemblyName = entityAssmbly;
            }
            else
            {
                dbContextOption = new DbContextOption
                {
                    Container          = defaultContainer,
                    ConnectionString   = dbConnectionString,
                    ModuleAssemblyName = entityAssmbly,
                    Provider           = providerName,
                    LogggerFactory     = loggerFactory
                };
            }

            DbConfiguration.Configure(dbContextOption);
        }
示例#4
0
        public void Configure3()
        {
            var setting = System.Configuration.ConfigurationManager.ConnectionStrings["Northwind"];
            var factory = DbProviderFactories.GetFactory(setting.ProviderName);
            var conn    = factory.CreateConnection();

            conn.ConnectionString = setting.ConnectionString;
            var cfg = DbConfiguration.Configure(conn);

            Assert.AreEqual(setting.ConnectionString, cfg.ConnectionString);
            Assert.IsNotNull(cfg.ConnectionString);  //数据库连接字符串
            Assert.IsNotNull(cfg.DbProviderName);    //
            Assert.IsNotNull(cfg.DbProviderFactory); //DbProviderFactory
            Assert.IsNotNull(cfg.Dialect);           //数据库方言

            var db = cfg.CreateDbContext();

            Assert.IsNotNull(db);
            Assert.IsNotNull(db.Connection);
            Assert.IsFalse(db.Connection.State == System.Data.ConnectionState.Open);
            //Assert.AreEqual(db.Connection, conn);

            conn.Open();

            db.Dispose();
            db = null;


            Assert.IsTrue(conn.State == System.Data.ConnectionState.Open);

            conn.Close();
        }
示例#5
0
        public void TestEntityModelMapping()
        {
            var dbConfiguration = DbConfiguration.Configure("Northwind").AddClass <Index>();

            var mapping = dbConfiguration.GetClass <Index>();

            Assert.AreEqual("tbIndex", mapping.TableName);
        }
示例#6
0
 static UCDbContext()
 {
     dbConfiguration = DbConfiguration
                       .Configure(connectionStringName)
                       .SetSqlLogger(() => SqlLog.Debug)
                       .AddFromAssemblyOf <UCDbContext>(t => t.HasAttribute <TableAttribute>(false))
     ;
 }
示例#7
0
        //[ExpectedException(typeof(MappingException))]
        public void NoMappingTest()
        {
            DbConfiguration.Items.Clear();

            var db = DbConfiguration
                     .Configure("Northwind")
                     //不映射.AddClass<Customer>();
                     .CreateDbContext();

            var customers = db.Set <Customer>();//报异常:ORMappingException
        }
示例#8
0
        public void MappingTest()
        {
            var db = DbConfiguration
                     .Configure("Northwind")
                     .AddClass <Customer>()
                     .CreateDbContext();

            var customers = db.Set <Customer>();

            Assert.IsNotNull(customers);
        }
示例#9
0
        public void SetSQLLog()
        {
            var db = DbConfiguration
                     .Configure("Northwind")
                     //.AddClass<Customer>()
                     .SetSqlLogger(() => new SqlLog(Console.Out))
                     .CreateDbContext();

            var customers = db.Set <Customer>();
            var c         = customers.FirstOrDefault();

            c.Dump();
        }
示例#10
0
        public SqlServerSchema()
        {
            const string connectionStringName = "Northwind";

            //DbConfiguration.InitializeDLinq<System.Data.Linq.Binary>();

            if (!DbConfiguration.Items.TryGetValue(connectionStringName, out dbConfiguration))
            {
                dbConfiguration = DbConfiguration.Configure(connectionStringName)
                                  .SetSqlLogger(() => new SqlLog(Console.Out))
                ;
            }
        }
示例#11
0
文件: DDLTest.cs 项目: yinmin/elinq
        public DDLTest()
        {
            const string connectionStringName = "ELinq";

            //DbConfiguration.InitializeDLinq<System.Data.Linq.Binary>();

            if (!DbConfiguration.Items.TryGetValue(connectionStringName, out dbConfiguration))
            {
                dbConfiguration = DbConfiguration.Configure(connectionStringName)
                                  .SetSqlLogger(() => new SqlLog(Console.Out))
                                  .AddFromAssemblyOf <ELinq.DDLTest.ElinqToSql.Models.Customers>(t => t.HasAttribute <TableAttribute>(false));
            }
        }
示例#12
0
        private static void AddRouteDb(string defaultContainer, string defaultDbConnectionString, string defaultProviderName, string defaultEntityAssmbly, ILoggerFactory loggerFactory = null)
        {
            var list = GetRouteDbContextOptions(new DbContextOption
            {
                Container          = defaultContainer,
                ConnectionString   = defaultDbConnectionString,
                ModuleAssemblyName = defaultEntityAssmbly,
                Provider           = defaultProviderName,
                LogggerFactory     = loggerFactory
            });

            if (list.Count() > 0)
            {
                //list.ForEach(p => { p.ModuleAssemblyName = defaultEntityAssmbly; });
                DbConfiguration.Configure(list);
            }
        }
示例#13
0
        public static DbConfiguration GetOrCreateDbConfiguration(string dbSourceName, bool validateSchema)
        {
            if (!Acl.Data.Configuration.DbConfiguration.Items.TryGetValue(dbSourceName, out DbConfiguration cfg))
            {
                // 获取 exe.config 中的连接字符串。
                var connectSettings = ConfigurationManager.ConnectionStrings.OfType <ConnectionStringSettings>()
                                      .Where(p => p.Name == dbSourceName).FirstOrDefault();

                if (connectSettings != null)
                {
                    cfg = DbConfiguration.Configure(dbSourceName);
                }
                else
                {
                    var dataSrc = DataSources.Values.Where(p => p.Name == dbSourceName).FirstOrDefault();
                    if (dataSrc == null)
                    {
                        throw new Exception(string.Format("没有找到 DataSource={0} 的配置 。", dbSourceName));
                    }

                    var urlFixed = dataSrc.Url;
                    if (dataSrc.Driver.Contains("SQLite"))
                    {
                        urlFixed = HelperTools.FixSQLiteDbUrl(dataSrc.Url);
                    }
                    cfg = DbConfiguration.Configure(urlFixed, dataSrc.Driver, dbSourceName);
                }

                // 设置表名复数策略
                cfg.SetMappingConversion(MappingConversion.Plural);

                // 添加DB表映射。
                if (DataSources.ContainsKey(dbSourceName))
                {
                    DataSources[dbSourceName].TableDescriptors.ForEach(p => cfg.ModelBuilder.AddClass(p.Value.EntityType));
                }

                // 验证Schema
                if (validateSchema)
                {
                    cfg.ModelBuilder.ValidateSchema();
                }
            }

            return(cfg);
        }
        private static void AddRouteDb(string defaultContainer, string defaultDbConnectionString, string defaultProviderName, ILoggerFactory loggerFactory = null)
        {
            var option = new DbContextOption
            {
                Container        = defaultContainer,
                ConnectionString = defaultDbConnectionString,
                Provider         = defaultProviderName,
                LogggerFactory   = loggerFactory
            };

            var list = option.DbContextOption(GetDefRouteDbContextOptions(option));

            if (list.Count() > 0)
            {
                DbConfiguration.Configure(list);
            }
        }
示例#15
0
        public void Configure2()
        {
            var setting = System.Configuration.ConfigurationManager.ConnectionStrings["Northwind"];
            var cfg     = DbConfiguration.Configure(setting.ConnectionString, setting.ProviderName);

            //Assert.AreEqual(setting.ConnectionString, cfg.Name);
            Assert.IsNotNull(cfg.ConnectionString);  //数据库连接字符串
            Assert.IsNotNull(cfg.DbProviderName);    //
            Assert.IsNotNull(cfg.DbProviderFactory); //DbProviderFactory
            Assert.IsNotNull(cfg.Dialect);           //数据库方言

            var db = cfg.CreateDbContext();

            Assert.IsNotNull(db);
            Assert.IsNotNull(db.Connection);
            Assert.IsFalse(db.Connection.State == System.Data.ConnectionState.Open);
        }
示例#16
0
 static Northwind()
 {
     if (!DbConfiguration.Items.TryGetValue(connectionStringName, out dbConfiguration))
     {
         dbConfiguration = DbConfiguration
                           .Configure(connectionStringName)
                                                  // .SetSqlLogger(() =>SqlLog.Trace)
                           .SetMappingConversion(MappingConversion.Plural)
                           .AddClass <Customer>() //注册映射类
                           .AddClass <Order>()    //注册映射类
                           .AddClass <OrderDetail>(p =>
         {
             p.TableName("Order Details");
         })                                      //注册映射类
                           .AddClass <Product>() //注册映射类
                                                 // .AddFile("Model\\Northwind.mapping.xml")
         ;
     }
 }
示例#17
0
        public void ConnectionConfigureTest()
        {
            var connectionStringName = "Northwind";
            var cfg = DbConfiguration
                      .Configure(connectionStringName)//ConnectionStringName by config file
            ;

            Assert.AreEqual(connectionStringName, cfg.Name);
            Assert.IsNotNull(cfg.ConnectionString);  //数据库连接字符串
            Assert.IsNotNull(cfg.DbProviderName);    //
            Assert.IsNotNull(cfg.DbProviderFactory); //DbProviderFactory
            Assert.IsNotNull(cfg.Dialect);           //数据库方言

            var db = cfg.CreateDbContext();

            Assert.IsNotNull(db);
            Assert.IsNotNull(db.Connection);
            Assert.IsFalse(db.Connection.State == System.Data.ConnectionState.Open);
        }
示例#18
0
        public void Test1()
        {
            var appsettings = @"
{
    'spring': {
        'application': {
            'name': 'myName'
        },
    },
    'skynet': {
        'cloud': {
            'filepath': 'c:/doc',
        }
    }
}";

            var    path      = TestHelpers.CreateTempFile(appsettings);
            string directory = Path.GetDirectoryName(path);
            string fileName  = Path.GetFileName(path);
            ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();

            configurationBuilder.SetBasePath(directory);

            configurationBuilder.AddJsonFile(fileName);
            var config = configurationBuilder.Build();

            DbConfiguration.Configure(dbContextOption);
            IFileHandler    fileHandler    = new FileHandler(config, GetLoggerFactory().CreateLogger <FileHandler>());
            ICodeGenService codeGenService = new CodeGenService(fileHandler, GetLoggerFactory().CreateLogger <CodeGenService>());
            GenConfig       genConfig      = new GenConfig()
            {
                Author      = "magic.s.g.xie",
                Comments    = "Á÷³ÌÒµÎñ",
                Email       = "*****@*****.**",
                Namespace   = "UWay.Skynet.Cloud",
                ModuleName  = "Uflow",
                TablePrefix = "UF_"
            };

            codeGenService.GeneratorCode(genConfig);
        }
示例#19
0
        static void Main()
        {
            try
            {
                Process instance = GetRunningInstance();
                if (instance == null)
                {
                    //处理未捕获的异常
                    Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
                    //处理UI线程异常
                    Application.ThreadException += Application_ThreadException;
                    //处理非UI线程异常
                    AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);

                    DbConfiguration cfg = DbConfiguration
                                          .Configure("Scheduler")
                                          .AddClass <Appointment>()
                                          .AddClass <AppointmentLabel>()
                                          .AddClass <AppointmentDisplay>();
                    MainLogger.Instance.Trace("开始运行");
                    Application.Run(new MainForm());
                }
                else
                {
                    HandleRunningInstance(instance);
                }
            }
            catch (Exception ex)
            {
                MainLogger.Instance.Trace(ex.Message);
                //提示窗体
                new ErrorForm().ShowDialog();
            }
        }
示例#20
0
 private static void SetConfig(DbConfiguration cfg)
 {
     cfg.Configure <AutomobileModel>(opts => opts.SetPrimaryKey(a => a.Vin));
 }
示例#21
0
        public void Test1()
        {
            //var path = AppDomain.CurrentDomain.RelativeSearchPath ?? AppDomain.CurrentDomain.BaseDirectory;
            //var dir = new DirectoryInfo(path);

            //var files = dir.GetFiles("*.service.*");
            //foreach (var item in files)
            //{
            //    Console.WriteLine(item.Name);
            //}
            //Regex regex = new Regex("*.Service");
            //var serviceAssemblys = RuntimeHelper.GetServicesAssembly();
            //var item = serviceAssemblys.FirstOrDefault().GetName(true).Name+".";
            //var interfaceAssembly = RuntimeHelper.GetAssembly(item);
            //Assert.NotNull(interfaceAssembly);
            var appsettings = @"
{
    'spring': {
        'application': {
            'name': 'myName'
        },
    },
    'skynet': {
        'cloud': {
            'filepath': 'c:/doc',
        }
    }
}";

            var    path      = TestHelpers.CreateTempFile(appsettings);
            string directory = Path.GetDirectoryName(path);
            string fileName  = Path.GetFileName(path);
            ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();

            configurationBuilder.SetBasePath(directory);

            configurationBuilder.AddJsonFile(fileName);
            var             config          = configurationBuilder.Build();
            var             provider        = GetServiceProvider();
            DbContextOption dbContextOption = new DbContextOption()
            {
                ConnectionString = "data source=192.168.15.117:1521/ora10;user id=test_cnoap;password=test_cnoap;Pooling=true;Max Pool Size=100;Min Pool Size=5;",
                Container        = "1",
                LogggerFactory   = provider.GetService <ILoggerFactory>(),
                MappingFile      = "uway.cdma.normal.mapping.xml",
                Provider         = DbProviderNames.Oracle_Managed_ODP
            };

            DbConfiguration.Configure(dbContextOption);
            INeService service = provider.GetService <INeService>();

            CompositeFilterDescriptor filter = new CompositeFilterDescriptor();

            filter.LogicalOperator = FilterCompositionLogicalOperator.Or;
            FilterDescriptor filterDescriptor = new FilterDescriptor()
            {
                Member   = "NeName",
                Operator = FilterOperator.Contains,
                Value    = "╣─┬Ц"
            };

            FilterDescriptor filterDescriptor2 = new FilterDescriptor()
            {
                Member   = "NeName",
                Operator = FilterOperator.Contains,
                Value    = "ол╔й"
            };

            filter.FilterDescriptors.Add(filterDescriptor);
            filter.FilterDescriptors.Add(filterDescriptor2);
            var bts = service.GetNeBtsByCondition(NetType.CDMA, new List <IFilterDescriptor>()
            {
                filter
            });

            Assert.NotNull(bts);
            Assert.True(bts.Count() > 0);
            DataSourceRequest request = new DataSourceRequest();

            request.Page     = 1;
            request.PageSize = 10;
            request.Filters  = new List <IFilterDescriptor>()
            {
                filter
            };
            request.Sorts = new List <SortDescriptor>()
            {
                new SortDescriptor()
                {
                    Member = "NeName", SortDirection = System.ComponentModel.ListSortDirection.Ascending
                }
            };
            var page = service.BtsPage(NetType.CDMA, request);

            Assert.True(page.Total > 0);

            var btsResult = service.GetNeBtsPageByCondition(NetType.CDMA, request);

            Assert.True(btsResult.Total > 0);
        }
示例#22
0
 public BaseDbContext(string Provider, string ConnectString) : base(DbConfiguration.Configure(ConnectString, Provider))
 {
     this.RegisterMapping(base.DbConfiguration);
 }