Base solution for your next web application

Activities of "edvin"

Hi !

I'm new customer of ASP.NET Zero. After week reading documents, testing, i must say: Great work !! You made great job, solve a lot of problems. Realy great ! It worth any € I paid.

In some other posts i noticed you have plans to support .NET Core in 2Q2017. This is great. For us supporting .NET Core platform is main feature for near future. I belive i'm not alone.

So, my questions are:

Entity Framework Core

  1. Some ASP Boilerplate features (like filtering) not supported. In EF6 repositories filters tennants, softdeleted entities, etc. Is this working in EF7 too ? So what not supporting filters realy mean ?

  2. We are starting new project. When it will be finished it should run on .NET Core. We know that EF6 will not support .NET Core, so we need to choose EF7 on the end. What do you suggest ? Start with EF7 at begginnig with all limitations or start with EF6 and switch to EF7 after ?

    IRepository<TEntity> should hide EF implementation. Correct ? So changing EF6 to EF7 should be transparent without changing any code in appServices. Is this true in reality or only theoretically ?

    Another story is Entity to DB mapping definitions. Are they same or should be changed when switching to EF7.

    As you see my question is all about changing EF6->EF7 or just start with EF7.

  3. ASP.NET Zero uses EF6. Can we just switch to EF7 and all code will still work as using EF6 ? If so, how we could do that ? If not, Zero project should be prototype project porting to .NET Core.

Dependices ASP.NET Boilerplate has dependices on some third party sollutions. Some of them has .NET Core support already, some not.

What changes/replacements you are planning to do when implementing support for .NET Core ? I think two you should do:

CastleWindsor -> AutoFac Log4Net -> Serilog

ASP.NET Zero & Angular 2+ Zero client side has jQuery dependency. Have you any plans to replace jQuery with some other ng2 components ? I know that grid you use is very powerfull, but i give priority to pure ng2 implementations.

After all i wrote, there is a lot of work to do. So expecting .NET Core support for boilerplate in 2Q2017 ... Is this real ? What about ASP.NET Zero ? in 2Q2017 too ?

Thanks for advance.

Edvin

Hi,

ASP.NET ZERO project is based on EntityFramework (EF6). Is it possible to add 3 new modules that are based on EF7 in same solution ?

I create 3 new modules (CIS.Task.Core, CIS.Task.EF, CIS.Task.Application) with EF6. Everything works perfect.

After that i replace EF6 with EF7 and made some modifications in code. At startup i get error:

Abp.EntityFramework.DbContextTypeMatcher.AddWithBaseTypes(Type dbContextType, List<Type> types) Abp.EntityFramework.DbContextTypeMatcher.Populate(Type[] dbContextTypes) Abp.EntityFrameworkCore.AbpEntityFrameworkCoreModule.RegisterGenericRepositoriesAndMatchDbContexes() System.Collections.Generic.List.ForEach(Action<T> action) Abp.Modules.AbpModuleManager.StartModules() Abp.AbpBootstrapper.Initialize()

What could be wrong ?

If i remove DepensOn attr on Task.EF From .Web.Core module there is no error on startup. But then i got error when executing appservice because ef module is not initialized and IRepository<Task> is not registered.

Please advice.

Thanks for advance.

Edvin

Hikalkan, thanks for both answeres.

So, if i'm using ASP.NET Zero, EF6 is only option in present time.

Correct ?

Edvin

Hi.

I understand that DI infrastructure (Castle Windsor) and ORM (EF6 -> EF7) need to be changed for supporting .NET Core. But i don't understand what do you mean by

Db Mappings will be same if we continue to use Identity. But if we switch to Identity Core too, then it may change slightly.

Do you mean changing Identity system (ASP.NET Identity 2.2.1 to ASP.NET Core Identity 1.1.0) ? If so, then DB schema and DBMappings could change. Is this your point ?

So if all i wrote is correct then i becoming afraid.

My goal is to create application based on ASP.NET ZERO running on .NET Core. I purchased ASP.NET ZERO and now i have very good starting point for my application: modules, localization, security, user management, etc. Everything on full .NET framework.

In 2Q2017 i hope, new boilerplate will be released. How will ASP.NET ZERO consume it ? Will it be possible ? Without adjust it to new identity it will not be possible. Agree ? How much time will this adjustment take ? I know it is hard to tell, but ....

Maybe you should write how you see migration steps to .NET Core. And what components should be changed, adjusted, etc. Some of them we talk about already. Could you do that ?

I will be very grateful to you if you could share some vision. It will help me to make plans for next six months.

Regards.

Edvin

Hi, hikalkan.

Thanks for all yours answeres.

Edvin

Hi,

is it possible to use IRepository<OrganizationUnit> inside custom context seed method. I create module with "organization unit dependency". So i wan't to seed some data into organizationunit entity from my module.

Is it possible and how ?

Thanks for advance.

Edvin

Thanks.

I try add DBSet<OrganizationUnit> to my module context and add raw data, But this is not good idea because my context using different schema (not dbo).

Then i try to derive my module context from AbpZeroDbContext. This still don't work because i use different schema name (not dbo).

Finally i decide to create another DbContext class derived from AbpZeroCommonDbContext<Role, User> just for seeding raw data through it.

Is this correct or there is another more clean solution ?

Edvin

Creating another DBContext derived from AbpZeroCommonDbContext<Role, User> is not good idea.

Now i get error

AbpException: Found more than one concrete type for given DbContext Type (Abp.Zero.EntityFramework.AbpZeroCommonDbContext

when starting project.

I'm stucked.

Hikalkan, please advice.

Edvin

Hi. Thanks for your tip. But this was not problem.

In my module i already created 2 contexts:

  • first: for my entities - derived from AbpDbContext
  • second: for existing entities (users, organization units) - derived from AbpZeroDbContext<TUser, TRole .....

Of course both are register to DI.

When starting project i got error:

_AbpException: Found more than one concrete type for given DbContext Type (Abp.Zero.EntityFramework.AbpZeroCommonDbContext`2[Sebit.CIS.Authorization.Roles.Role,Sebit.CIS.Authorization.Users.User]) define MultiTenancySideAttribute with Host. Found types: Sebit.CIS.EntityFramework.CISDbContext, Sebit.CIS.EntityFramework, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null, Sebit.BPM.EF.BPMZeroDbContext, Sebit.BPM.EF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.

Abp.EntityFramework.DbContextTypeMatcher.GetDefaultDbContextType(List<Type> dbContextTypes, Type sourceDbContextType, MultiTenancySides tenancySide) Abp.EntityFramework.Uow.EfUnitOfWork.GetOrCreateDbContext

When starting ZERO application it seems that ABP found 2 DBContexts that match for required Repository: One from

Problem is solved now ! I remove my second context and just use existsing context from

Thanks for help.

Edvin

Hi,

If you didn't already you should look at <a class="postlink" href="https://vmware.github.io/clarity/documentation/datagrid">https://vmware.github.io/clarity/documentation/datagrid</a>

It is open source , very clean, well documented and there is some other components too.

I think they have some potential because are made with UX in mind.

Edvin

Showing 1 to 10 of 20 entries