public void CallingSaveWithAnInteraceAsTypeParameterDoesNotExplode()
{
var store = CreateStore();
IPersistentEntity<Guid> user1 = new User { Id = Guid.NewGuid(), Email = "user1" };
IPersistentEntity<Guid> user2 = new User { Id = Guid.NewGuid(), Email = "user2" };
using (var session = OpenSession(store))
{
session.Save(user2);
session.Save(user1.Id, user1);
session.Get<User>(user1.Id).Should().Be(user1);
session.Get<User>(user2.Id).Should().Be(user2);
session.SaveChanges();
}
using (var session = OpenSession(store))
{
session.Get<User>(user1.Id).Id.Should().Be(user1.Id);
session.Get<User>(user2.Id).Id.Should().Be(user2.Id);
session.SaveChanges();
}
}