-
Notifications
You must be signed in to change notification settings - Fork 2k
/
PreConventionContext.cs
43 lines (36 loc) · 1.35 KB
/
PreConventionContext.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
namespace EFModeling.BulkConfiguration;
public class PreConventionContext : DbContext
{
public DbSet<Product> Products { get; set; }
protected override void ConfigureConventions(ModelConfigurationBuilder configurationBuilder)
{
#region CurrencyConversion
configurationBuilder
.Properties<Currency>()
.HaveConversion<CurrencyConverter>();
#endregion
#region StringFacets
configurationBuilder
.Properties<string>()
.AreUnicode(false)
.HaveMaxLength(1024);
#endregion
#region IgnoreInterface
configurationBuilder
.IgnoreAny(typeof(IList<>));
#endregion
#region DefaultTypeMapping
configurationBuilder
.DefaultTypeMapping<Currency>()
.HasConversion<CurrencyConverter>();
#endregion
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
=> optionsBuilder.UseSqlServer(
@"Server=(localdb)\mssqllocaldb;Database=EFModeling.BulkConfiguration;Trusted_Connection=True;ConnectRetryCount=0")
.LogTo(Console.WriteLine, minimumLevel: Microsoft.Extensions.Logging.LogLevel.Information)
.EnableSensitiveDataLogging();
}