Base solution for your next web application
Open Closed

.NET Core, Entity framework Core and roadmap #2419


User avatar
0
edvin created

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


5 Answer(s)
  • User Avatar
    0
    hikalkan created
    Support Team

    Hi,

    Thanks a lot. We are happy to read your comment.

    Your questions are related to each other. So, for all of them:

    Data filters provide single database multitenancy and soft delete features of ABP. With EF Core, it's not easy (or even possible) to do it. So, we are waiting EF Core to develop needed interception points. But ABP & AspNet Zero mostly EF independent. That means it will be easy to switch to EF Core later. It's %99 true in reality :) Very minor changes may be required on domain and application layers when you switch. I suggest you to go with EF 6.x. Db Mappings will be same if we continue to use Identity. But if we switch to Identity Core too, then it may change slightly.

    Dependencies;

    This is why we are waiting. If Windsor ports to .net core, we may continue to use it o decide to swith Autofac. Otherwise, we will definetely move to Autofac. Same is true for other libraries.

    Angular 2

    We really want to make all ng2 native, but ng2 tooling and libraries are still very poor. By the time, we will consider to replace jquery code with native ng2 components one by one.

    We planned for Q2 2017 and we believe it's a realistic goal unless we have a serious techniqal problems. The most risky point was Castle Windsor, and it's fixed since Castle.Core not supports .net standard 1.3 and Autofac supports it for dynamic proxy.

    Once we do it for ABP framework, we will work on AspNet Zero too. I think it gets time but has less risk points.

  • User Avatar
    0
    hikalkan created
    Support Team

    Hi again,

    Sorry my wrong answer for one of your questions.

    We planned to move ABP framework to .net core in Q2 of 2017 (I think you saw this: #2176@ec7eef9d-a9dd-4f47-a2fc-3e8e3fcfbdef). AspNet Zero part is a bit more complicated. Eventually we are planning to move to .net core, but for now we don't want to say a date. We will work on just after the framework and will see how it will be. I said "has less risk points" but that was not true. Actually, EF Core and Identity Core change has some risk points. Sorry for my previous answer.

  • User Avatar
    0
    edvin created

    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

  • User Avatar
    0
    hikalkan created
    Support Team

    Hi,

    Yes, you get it correct. Since we will change to Identity Core 1.x, db schema may change a bit (I don't have a comparison yet), but I think it will be possible to migrate existing database if you released your product and you have a live database. If not, then it will be simpl.er

    Once we migrate it, we will definitely create a document for existing customers who want to migrate.

    Moving to .net core is one of our highest priority works. But we didn't started it yet since we are waiting dependend tools (EF Core, Windsor...) be ready and mature. Because we don't want to drop our features while migrating to .net core.

    Have a nice day.

  • User Avatar
    0
    edvin created

    Hi, hikalkan.

    Thanks for all yours answeres.

    Edvin