Играя с однозначными ассоциациями в активной записи замка, я наткнулся на следующую проблему:
Я пытаюсь смоделировать отношения один-к-одному (в данном случае user-userprofile). Я уже узнал, что это не может быть лучшей практикой, но давайте на мгновение проигнорируем это (я все еще пытаюсь понять, что происходит).
[ActiveRecord]
public class TestUser : ActiveRecordBase<TestUser>
{
[PrimaryKey(PrimaryKeyType.GuidComb)]
public Guid Id { get; set; }
}
[ActiveRecord]
public class TestUserProfile : ActiveRecordBase<TestUserProfile>
{
[PrimaryKey(PrimaryKeyType.GuidComb)]
public Guid Id { get; set; }
[OneToOne(Cascade = CascadeEnum.All, Fetch = FetchEnum.Join)]
public TestUser User { get; set; }
}
Я ожидаю, что следующий код сохранит пользователя с профилем, получив тот же Id в базе данных:
[Test]
public void save_profile_saves_user()
{
var profile = new TestUserProfile
{
User = new TestUser()
};
profile.Save();
}
Фактический результат, однако, заключается в том, что оба объекта сохраняются с разными ключами. Я что-то упустил ??