Это на самом деле мой самый первый вопрос о Stackoverflow. Я надеюсь, что это не последнее, и я надеюсь, что сам внесу некоторые ответы.
Мой вопрос прост. Я застрял с тестом NUnit, где я тестирую обратное отношение HasMany.
Каждый раз, когда я отлаживаю его, вывод «Фактическое количество не равно ожидаемому числу ...». Я провел обширные исследования в сети по этому вопросу, и некоторые люди утверждают, что невозможно провести такой юнит-тест.
Вот мой пример.
Код для EmployeeMapping:
Id(x => x.ID).GeneratedBy.Identity();
HasMany(x => x.PositionHistory).KeyColumn("Employee_id").Inverse().Cascade.All();
Вот код для EmployeePositionMapping:
Id(x => x.ID).GeneratedBy.Identity();
References(x => x.EmployeeAtPosition).Cascade.All().Nullable();
Юнит-тест выглядит так:
var position2 = new EmployeePosition();
position2.ExtraBenefit = 353.00;
position2.Salary = 23300.00;
position2.Region = region;
position2.Department = department;
position2.Year = "2010";
position2.Comment = "kommentar igen...";
position2.History = true;
var positionList = new List<EmployeePosition>();
positionList.Add(position2);
new PersistenceSpecification<Employee>(Session, new CustomEqualityComparer<Employee, long>())
.CheckProperty(p => p.ID, Int64.Parse("1"))
.CheckList(p => p.PositionHistory, positionList, (emp, empPosition) => emp.AddEmployeePosition(empPosition))
.VerifyTheMappings();
Я хотел бы заменить атрибут Nullable () на Not.Nullable () для свойства References EmployeeAtPosition.
У меня есть базовый класс сущностей, который заботится о сравнении сущностей и даже переходных процессов.
AddEmployeePosition () заботится о поддержании отношений в обоих направлениях для Employee.PositionHistory и EmployeePosition.EmployeeAtPosition.
Когда я смотрю на Nhibernate SQL в выводе, кажется, все в порядке. Но по какой-то причине он не равен списку, который я подготовил (positionList)
Другие полезные факты: я использую Nhibernate 3.0 и соответствующие текущие двоичные файлы Nhibernate. Загрузил их три дня назад. Использование SQLite InMemory для проведения картографических тестов.
Я действительно ценю все хорошие новые ракурсы, которые мне могут дать ваши подсказки ...
/ С наилучшими пожеланиями BacceSR- из очень снежного Стокгольма.