public void CarTest24()
        {
            var car = this.Fixture.Get <Car>() as Car;

            CheckCarDataVersion(car.Id, 1);

            Assert.AreEqual(car.MainBreak.Description, "MainBreak");

            // 修改
            CarBreak breaker1 = new CarBreak(11)
            {
                Description = "CarBreak1",
                TheColor    = new WholeColor("红色", 8, true),
                CreateDate  = new DateTime(2017, 6, 1)
            };

            CarBreak breaker2 = new CarBreak(12)
            {
                Description = "CarBreak2",
                TheColor    = new WholeColor("蓝色", 8, true),
                CreateDate  = new DateTime(2017, 6, 2)
            };

            this.BeginTransaction();

            car.AddCarBreak(breaker1);
            car.AddCarBreak(breaker2);

            var repository = Repository.Create <ICarRepository>();

            repository.Update(car);

            this.Commit();

            Car carMemmory = GetCar(car.Id);

            Assert.AreEqual(carMemmory.Breaks.Count(), 2);
            Assert.AreEqual(carMemmory.Breaks.ElementAt(1).Description, "CarBreak2");

            var carNew = FindCar(car.Id);

            CheckCarDataVersion(car.Id, 2);

            // 只修改高级实体内部
            this.BeginTransaction();

            breaker1.Description = "update CarBreak1";
            breaker1.TheColor    = new WholeColor("修改红色", 8, true);

            repository.Update(car);

            this.Commit();

            Car carMemmory2 = GetCar(car.Id);

            Assert.AreEqual(carMemmory2.Breaks.Count(), 2);
            Assert.AreEqual(carMemmory2.Breaks.ElementAt(0).Description, "update CarBreak1");

            CheckCarDataVersion(car.Id, 3);
        }
Exemple #2
0
 public void AddCarBreak(CarBreak carbreak)
 {
     _Breaks.Add(carbreak);
 }