Skip to content

jfuerlinger/POS_LiveCoding_2020-03-05_EF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

LiveCoding (2020-03-05): Entity Framework Core

Project structure

  • Class library (core)
    1. LiveCoding.Core
    2. LiveCoding.Persistence
  • Console app (core)
    1. LiveCoding.UI

Cheat Sheet

NuGet Packages

Paket Core Persistence UI Test
Microsoft.EntityFrameworkCore - Ja Ja -
Microsoft.EntityFrameworkCore.Tools - Ja - -
Microsoft.EntityFrameworkCore.SqlServer - Ja Ja -
Microsoft.EntityFrameworkCore.InMemory - Ja Ja Ja
Microsoft.Extensions.Configuration.Json - Ja Ja -

Connection String (SQL Server)

{ 
    "ConnectionStrings": 
    { 
    "DefaultConnection": "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=LiveCoding_2020035;Integrated Security=True;" 
    }
}

ApplicationDbContext.OnConfiguring

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    if (!optionsBuilder.IsConfigured)
    {
        var configuration = new ConfigurationBuilder()
            .SetBasePath(Environment.CurrentDirectory)
            .AddJsonFile("appsettings.json")
            .Build();

        string connectionString = configuration["ConnectionStrings:DefaultConnection"];

        optionsBuilder.UseSqlServer(connectionString);
    }
}

DbContext Options for testing

private ApplicationDbContext GetDbContext(string dbName)
{
    // Build the ApplicationDbContext 
    //  - with InMemory-DB
    return new ApplicationDbContext(
        new DbContextOptionsBuilder<ApplicationDbContext>()
            .UseInMemoryDatabase(dbName)
            .EnableSensitiveDataLogging()
            .Options);
}

DbContext constructor for testing

public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
{   
}

About

csharp course; Live Coding Entity Framework Core

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages