static void Main(string[] args) { ContextA ctxA = new ContextA(); ctxA.Set <ModelA>().Add(new ModelA()); ctxA.SaveChanges(); ContextB ctxB = new ContextB(); ctxB.Set <ModelB>().Add(new ModelB()); ctxB.SaveChanges(); ContextJoin ctxJoin = new ContextJoin(ctxA, ctxB); ctxJoin.Set <ModelB>().Add(new ModelB()); ctxJoin.Set <ModelA>().Add(new ModelA()); ctxJoin.SaveChanges(); var crossQuery = ctxJoin.Set <ModelA>().Join( ctxJoin.Set <ModelB>(), t => t.Id, t => t.Id, (a, b) => new { a.Name, b.Date }).ToList(); crossQuery.ForEach(t => Console.WriteLine($"Name: {t.Name}, Date: {t.Date}")); }
static void SubMainWithDI() { //with dependency injection, it will automatically injected the proper object into arguments. ContextA _contextA = Container.Resolve <ContextA>(); ContextB _contextB = Container.Resolve <ContextB>(); ContextC _contextC = Container.Resolve <ContextC>(); _contextA.DoSomething(); _contextB.DoSomething(); _contextC.DoSomething(); }
static void SubMainWithoutDI() { //without dependency injection, manually inputed the object ContextA contextA = new ContextA(new ClassA()); ContextB contextB = new ContextB(new ClassA(), new ClassB()); ContextC contextC = new ContextC(new ClassA(), new ClassB(), new ClassC()); contextA.DoSomething(); contextB.DoSomething(); contextC.DoSomething(); }
public void Can_initialize_with_create_if_not_exists() { ResetDatabase(); Database.SetInitializer(new CreateDatabaseIfNotExists <ContextA>()); Database.SetInitializer(new CreateDatabaseIfNotExists <ContextB>()); using (var connection = TestDatabase.CreateConnection(TestDatabase.ConnectionString)) { using (var context = new ContextA(connection, contextOwnsConnection: false)) { context.Database.Initialize(true); } using (var context = new ContextB(connection, contextOwnsConnection: false)) { context.Database.Initialize(true); } } Assert.True(TableExists("TenantAs")); Assert.True(TableExists("TenantBs")); }
public EDTController() { _contextA = new ContextA(); _contextB = new ContextB(); }
public void Can_initialize_with_create_if_not_exists() { ResetDatabase(); Database.SetInitializer(new CreateDatabaseIfNotExists<ContextA>()); Database.SetInitializer(new CreateDatabaseIfNotExists<ContextB>()); using (var connection = TestDatabase.CreateConnection(TestDatabase.ConnectionString)) { using (var context = new ContextA(connection, contextOwnsConnection: false)) { context.Database.Initialize(true); } using (var context = new ContextB(connection, contextOwnsConnection: false)) { context.Database.Initialize(true); } } Assert.True(TableExists("TenantAs")); Assert.True(TableExists("TenantBs")); }