Beispiel #1
0
        public async Task TestProjectCodeFirstConfig()
        {
            using var scope = ServiceProvider.CreateScope();
            var fsql       = ServiceProvider.GetService <IFreeSql <FsBuilder> >();
            var config     = new GeneratorModeConfig();
            var reflection = scope.ServiceProvider.GetService <ReflectionHelper>();
            var items      = await reflection.GetAssembliesNameItems();

            var assemblyItem = items.FirstOrDefault(x => x.Value.Equals(Assembly.GetAssembly(typeof(IKey <>)).FullName));

            Assert.True(assemblyItem != null);
            var typeItem = await reflection.GetAbstractClass(assemblyItem.Value);

            var abstruct = typeItem.FirstOrDefault(x => x.Value == typeof(IKey <>).FullName);

            Assert.True(abstruct != null);
            var tables = scope.ServiceProvider
                         .GetService <ReflectionHelper>();
            var projectid = fsql.Insert <Project>().AppendData(new Project()).ExecuteIdentity();

            config.EntitySource.EntityAssemblyName = null;
            config.EntitySource.EntityBaseName     = abstruct.Value;
            config.PickType      = PickType.Ignore;
            config.GeneratorMode = GeneratorMode.CodeFirst;

            config.Validate();
            var id = fsql.Insert <GeneratorModeConfig>().AppendData(config).ExecuteIdentity();

            fsql.Delete <Project>().Where(x => x.Id == projectid).ExecuteAffrows();
            Assert.True(id > 0);
            fsql.Delete <GeneratorModeConfig>().Where(x => x.Id == id);
        }
Beispiel #2
0
        public async Task TestProjectDbFirstConfig()
        {
            using var scope = ServiceProvider.CreateScope();
            var fsql   = ServiceProvider.GetService <IFreeSql <FsBuilder> >();
            var config = new GeneratorModeConfig();

            config.EntitySource.EntityAssemblyName = null;
            var reflection = scope.ServiceProvider.GetService <ReflectionHelper>();
            var items      = await reflection.GetAssembliesNameItems();

            var assemblyItem = items.FirstOrDefault(x => x.Value.Equals(Assembly.GetAssembly(typeof(IKey <>)).FullName));
            var typeItem     = await reflection.GetAbstractClass(assemblyItem.Value);

            var abstruct     = typeItem.FirstOrDefault(x => x.Value == typeof(IKey <>).FullName);
            var projectid    = fsql.Insert <Project>().AppendData(new Project()).ExecuteIdentity();
            var datasourceId = fsql.Insert <DataSource>().AppendData(new DataSource
            {
                ConnectionString = "",
                DbType           = DataType.Sqlite,
                Name             = ""
            }).ExecuteIdentity();

            config.GeneratorMode = GeneratorMode.DbFirst;
            config.DataSourceId  = datasourceId;
            config.Validate();
            var id = fsql.Insert <GeneratorModeConfig>().AppendData(config).ExecuteIdentity();

            fsql.Delete <Project>().Where(x => x.Id == projectid).ExecuteAffrows();
            Assert.True(id > 0);
            fsql.Delete <GeneratorModeConfig>().Where(x => x.Id == id);
            var aff = fsql.Delete <DataSource>().Where(x => x.Id == datasourceId).ExecuteAffrows();

            Assert.True(aff > 0);
        }