public void HandlesInstancesOfDifferentTypesWithTheSameId()
{
var store = CreateStore();
var user = new User
{
Id = Guid.NewGuid(),
Email = "email"
};
var dog = new Dog { Id = user.Id };
using (var session = OpenSession(store))
{
session.Save<IPersistentEntity<Guid>>(user);
session.Save<IPersistentEntity<Guid>>(dog);
session.SaveChanges();
}
using (var session = OpenSession(store))
{
var loadedDog = session.Get<Dog>(dog.Id);
var loadedUser = session.Get<User>(dog.Id);
Assert.That(loadedDog.Name, Is.EqualTo(dog.Name));
Assert.That(loadedUser.Email, Is.EqualTo(user.Email));
Assert.That(loadedDog.Id, Is.EqualTo(user.Id));
Assert.That(loadedUser.Id, Is.EqualTo(user.Id));
}
}