1
나는 NHibernate에 몇 가지 문제를 다시 가지고있다. 동시에 두 개의 자식 객체를 부모에 추가하려고합니다. 문제는 첫 번째 자식 만 커밋되고 두 번째 자식은 무시된다는 것입니다. 두 번째 자녀에게도 오류 메시지가 표시되지 않습니다.Hibernate는 2 대신 하나의 자식을 커밋한다.
public void CreateKeyword(CreateKeywordRequest request)
{
Collection collection = _collectionRepository.FindCollection(request.IdentityToken, request.CollectionName);
collection.AddKeyword(request.CategoryName, request.KeywordName, request.KeywordDescription);
_uow.Commit();
}
- 내가 테스트를 의심
public void AddKeyword(string categoryName, string keywordName, string keywordDescription)
{
Category category = Categories.Where(c => c.CategoryName == categoryName).FirstOrDefault();
Keyword keyword = new Keyword { Category = category, KeywordName = keywordName, Description = keywordDescription };
category.Keywords.Add(keyword);
Test testOne= new Test{ Keyword = keyword, name = "test1" };
Test testTwo= new Test{ Keyword = keyword, name = "test2" };
//Only testOne gets committed and testTwo gets ignored
keyword.Tests.Add(testOne);
keyword.Tests.Add(testTwo);
ThrowExceptionIfKeywordIsInvalid(keyword);
}
이 있는지 확인 키워드 특성에 비교 세트 (예를 들어, ISET)의 일종 및 시험의 같음 방법입니다. 코드에서 test2라는 이름으로 자식을 추가 할 수 있지만 두 번째 자식은 첫 번째가 아니라 추가 된 것 같습니다. 이게 맞습니까? – Sami
나는 확실히 test1 만 삽입된다. (double checked) –
원하는만큼 테스트를 추가 할 수 있지만 첫 번째 테스트 만 커밋됩니다. –