두 개의 DbContext가 있다고 가정 해 봅시다. 하나는 품종이고 다른 하나는 개가 들어 있습니다.두 DbContext 사이의 공유
public class Dog {
public Breed Breed { get; set; }
public Guid Id { get; set; }
public string Name { get; set; }
}
public class Breed {
public Guid Id { get; set; }
public string Name { get; set; }
}
public class MainUnitOfWork : DbContext
{
public MainUnitOfWork(): base("MainDb") { }
public IDbSet<Breed> Breeds { get; set; }
}
public class NextUnitOfWork : DbContext
{
public NextUnitOfWork() : base("NextDb") { }
public IDbSet<Dog> Dogs { get; set; }
}
이제 새 개를 삽입하려고합니다.
var next = new NextUnitOfWork();
var dog = new Dog
{ Id = Guid.NewGuid(), Name = "Fido",
Breed = new Breed { Id = Guid.NewGuid(), Name = "Rotweiler" } };
next.Dogs.Add(dog);
next.SaveChanges();
이제 Dogs와 Breeds를위한 NextDb에서 두 개의 테이블을 얻습니다. EF는 MainUnitOfWork에서 선언 되었기 때문에 Breed가 실제로 MainDb에 속해 있다는 것을 알았 으면합니다. 음, 내가 원하는 것을하기 위해 EF를 굽히려면 어떻게해야합니까?