Я бы хотел сказать, что это работало, а сейчас - нет. Я не знаю, что изменилось бы.
var inquiry = repo.GetByInstanceId(2);
foreach (var s in inquiry.Prop)
{
s.Prop = "Test 1 2 3...";
}
Assert.AreEqual(true, inquiry.S.Single().IsDirty, "S Should Be Dirty");
То, что происходит, происходит до того, как объект Property будет обновлен, и все будет великолепно. Теперь свойство обновляется в цикле foreach, но после цикла foreach создается впечатление, что я ничего не делал.
- EDIT--
Хорошо, я думаю, что IsDirty сбивает всех с толку. Я хотел поставить точный код, за исключением нескольких изменений имени. Но IsDirty здесь не важен.
Основное представление о том, что я делаю, таково:
class test { public int check { get; set; } }
var x = new List<test>();
x.Add(new test(){ check = 1});
foreach (var y in x)
{
y.check = 5;
}
Вопрос в том, "Разве это не должно работать?" Я думаю, что должно, если не почему? У меня это работало, и я не знаю, что я изменил. Я мог бы показать вам свои объекты, но мне пришлось бы изменить имена настолько, что это было бы бессмысленно. IsDirty не проблема. Значение, которое я изменяю, изменяется внутри цикла, но не изменяется вне цикла.