Giter Club home page Giter Club logo

autocontext.entityframeworkcore's Introduction

AutoContext

AutoContext.EntityFrameworkCore is a lightweight extension of Entity Framework Core for entity to entity configuration mapping.

How to build

AutoContext.EntityFrameworkCore is built against the latest ASP.NET Core 3.

  • Install the latest .NET Core 3.x SDK
  • Run build.ps1 in the root of the repo

Getting Started

  • Install nuget package to a new or existing project
Install-Package AutoContext.EntityFrameworkCore
  • Define your entities
public class YourEntity
{
    public int Id { get; set; }
}
  • Define your context
public class YourContext : AutoContextBase
{
    public YourContext(DbContextOptions options) 
      : base(options)
    {
    }
}

// or for context without inheritance from AutoContext
public class YourContextWithoutInheritanceFromAutoContext : DbContext
{
    public YourContextWithoutInheritance(DbContextOptions options) 
      : base(options)
    {
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        Database.ApplyConfigurations(modelBuilder);

        base.OnModelCreating(modelBuilder);
    }
}
  • Define your mapping configurations in any assembly
[MappingConfiguration(contextType: typeof(YourContext))]
public abstract class YourBaseMapping<TEntity> : AbstractEntityTypeConfiguration<TEntity> 
  where TEntity : class
{
}

public class YourCustomEntityMapping : YourBaseMapping<YourEntity>
{
    public virtual void Configure(EntityTypeBuilder<TEntity> builder)
    {
      // Your configuration here
    }
}
  • Register your context
services.AddDbContext<YourContext>(options =>
{
    // other registrations
    
    // If the mapping assembly name is null then will be used assembly of YourContext.
    options.UseMappingAssembly();
    // or
    options.UseMappingAssembly(<yourMappingAssemblyName>);
});

autocontext.entityframeworkcore's People

Contributors

holydk avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.