說我有兩個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();
現在我在NextDb中得到兩個表格,一個用於狗,一個用於品種。我希望EF能夠發現,自從在MainUnitOfWork中聲明後,該品種確實屬於MainDb。那麼,我如何繼續彎曲EF來做我想做的事?