예제 #1
0
        public async Task Can_add_update_untracked_properties_async()
        {
            var options = Fixture.CreateOptions();

            var customer = new Customer {
                Id = 42, Name = "Theon"
            };

            using (var context = new CustomerContext(options))
            {
                await context.Database.EnsureCreatedAsync();

                var entry = context.Add(customer);

                await context.SaveChangesAsync();

                var document = entry.Property <JObject>("__jObject").CurrentValue;
                Assert.NotNull(document);
                Assert.Equal("Theon", document["Name"]);

                context.Remove(customer);

                await context.SaveChangesAsync();
            }

            using (var context = new CustomerContext(options))
            {
                Assert.Empty(await context.Set <Customer>().ToListAsync());

                var entry = context.Add(customer);

                entry.Property <JObject>("__jObject").CurrentValue = new JObject
                {
                    ["key1"] = "value1"
                };

                await context.SaveChangesAsync();

                var document = entry.Property <JObject>("__jObject").CurrentValue;
                Assert.NotNull(document);
                Assert.Equal("Theon", document["Name"]);
                Assert.Equal("value1", document["key1"]);

                document["key2"] = "value2";
                entry.State      = EntityState.Modified;
                await context.SaveChangesAsync();
            }

            using (var context = new CustomerContext(options))
            {
                var customerFromStore = await context.Set <Customer>().SingleAsync();

                Assert.Equal(42, customerFromStore.Id);
                Assert.Equal("Theon", customerFromStore.Name);

                var entry    = context.Entry(customerFromStore);
                var document = entry.Property <JObject>("__jObject").CurrentValue;
                Assert.Equal("value1", document["key1"]);
                Assert.Equal("value2", document["key2"]);

                document["key1"]       = "value1.1";
                customerFromStore.Name = "Theon Greyjoy";

                await context.SaveChangesAsync();
            }

            using (var context = new CustomerContext(options))
            {
                var customerFromStore = await context.Set <Customer>().SingleAsync();

                Assert.Equal("Theon Greyjoy", customerFromStore.Name);

                var entry    = context.Entry(customerFromStore);
                var document = entry.Property <JObject>("__jObject").CurrentValue;
                Assert.Equal("value1.1", document["key1"]);
                Assert.Equal("value2", document["key2"]);

                context.Remove(customerFromStore);

                await context.SaveChangesAsync();
            }

            using (var context = new CustomerContext(options))
            {
                Assert.Empty(await context.Set <Customer>().ToListAsync());
            }
        }
        public async Task Can_add_update_delete_detached_entity_end_to_end_async()
        {
            using (var testDatabase = CosmosSqlTestStore.CreateInitialized(DatabaseName))
            {
                var options = Fixture.CreateOptions(testDatabase);

                var customer = new Customer {
                    Id = 42, Name = "Theon"
                };

                string storeId = null;
                using (var context = new CustomerContext(options))
                {
                    await context.Database.EnsureCreatedAsync();

                    var entry = context.Add(customer);

                    await context.SaveChangesAsync();

                    context.Add(customer);

                    storeId = entry.Property <string>("id").CurrentValue;
                }

                Assert.NotNull(storeId);

                using (var context = new CustomerContext(options))
                {
                    var customerFromStore = context.Set <Customer>().Single();

                    Assert.Equal(42, customerFromStore.Id);
                    Assert.Equal("Theon", customerFromStore.Name);
                }

                using (var context = new CustomerContext(options))
                {
                    customer.Name = "Theon Greyjoy";

                    var entry = context.Entry(customer);
                    entry.Property <string>("id").CurrentValue = storeId;
                    entry.State = EntityState.Modified;

                    await context.SaveChangesAsync();
                }

                using (var context = new CustomerContext(options))
                {
                    var customerFromStore = context.Set <Customer>().Single();

                    Assert.Equal(42, customerFromStore.Id);
                    Assert.Equal("Theon Greyjoy", customerFromStore.Name);
                }

                using (var context = new CustomerContext(options))
                {
                    var entry = context.Entry(customer);
                    entry.Property <string>("id").CurrentValue = storeId;
                    entry.State = EntityState.Deleted;

                    await context.SaveChangesAsync();
                }

                using (var context = new CustomerContext(options))
                {
                    Assert.Equal(0, context.Set <Customer>().Count());
                }
            }
        }
예제 #3
0
 public void UpdateCustomer(Model.Customer customer) =>
 _context.Entry(customer).State = EntityState.Modified;
예제 #4
0
        public async Task Can_add_update_delete_detached_entity_end_to_end_async()
        {
            var options = Fixture.CreateOptions();

            var customer = new Customer {
                Id = 42, Name = "Theon"
            };
            string storeId = null;

            using (var context = new CustomerContext(options))
            {
                await context.Database.EnsureCreatedAsync();

                var entry = context.Add(customer);

                await context.SaveChangesAsync();

                context.Add(customer);

                storeId = entry.Property <string>(StoreKeyConvention.DefaultIdPropertyName).CurrentValue;
            }

            Assert.Equal("Customer|42", storeId);

            using (var context = new CustomerContext(options))
            {
                var customerFromStore = await context.Set <Customer>().SingleAsync();

                Assert.Equal(42, customerFromStore.Id);
                Assert.Equal("Theon", customerFromStore.Name);
            }

            using (var context = new CustomerContext(options))
            {
                customer.Name = "Theon Greyjoy";

                var entry = context.Entry(customer);
                entry.Property <string>(StoreKeyConvention.DefaultIdPropertyName).CurrentValue = storeId;

                entry.State = EntityState.Modified;

                await context.SaveChangesAsync();
            }

            using (var context = new CustomerContext(options))
            {
                var customerFromStore = context.Set <Customer>().Single();

                Assert.Equal(42, customerFromStore.Id);
                Assert.Equal("Theon Greyjoy", customerFromStore.Name);
            }

            using (var context = new CustomerContext(options))
            {
                var entry = context.Entry(customer);
                entry.Property <string>(StoreKeyConvention.DefaultIdPropertyName).CurrentValue = storeId;
                entry.State = EntityState.Deleted;

                await context.SaveChangesAsync();
            }

            using (var context = new CustomerContext(options))
            {
                Assert.Empty(await context.Set <Customer>().ToListAsync());
            }
        }
        public void UpdateMembershipType(MembershipType MembershipType)

        {
            context.Entry(MembershipType).State = EntityState.Modified;
        }
 public virtual async Task UpdateAsync(T entity)
 {
     _dbContext.Entry(entity).State = EntityState.Modified;
     await _dbContext.SaveChangesAsync();
 }
예제 #7
0
        public void UpdateMovie(Movie Movie)

        {
            context.Entry(Movie).State = EntityState.Modified;
        }
        public void UpdateCustomer(Customer customer)

        {
            context.Entry(customer).State = EntityState.Modified;
        }
        public async Task Update(T entity)
        {
            await Task.FromResult(_context.Set <T>().Attach(entity));

            _context.Entry(entity).State = EntityState.Modified;
        }
예제 #10
0
 public ActionResult Edit(Customer customer)
 {
     context.Entry(customer).State = EntityState.Modified;
     context.SaveChanges();
     return(RedirectToAction("Index"));
 }
예제 #11
0
 /// <summary>
 /// Updates custome in the repository
 /// </summary>
 /// <param name="customer">Customer object which populated with details to be updated</param>
 public void Update(Customer customer)
 {
     _customerContext.Entry(customer).State = EntityState.Modified;
     _customerContext.SaveChanges();
 }