本文整理汇总了C#中DbContext.Delete方法的典型用法代码示例。如果您正苦于以下问题:C# DbContext.Delete方法的具体用法?C# DbContext.Delete怎么用?C# DbContext.Delete使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DbContext
的用法示例。
在下文中一共展示了DbContext.Delete方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Can_add_update_delete_end_to_end_using_partial_shadow_state
public async Task Can_add_update_delete_end_to_end_using_partial_shadow_state()
{
var model = new Model();
var customerType = new EntityType(typeof(Customer));
customerType.SetKey(customerType.AddProperty("Id", typeof(int), shadowProperty: false, concurrencyToken: false));
customerType.AddProperty("Name", typeof(string), shadowProperty: true, concurrencyToken: false);
model.AddEntityType(customerType);
var options = new DbContextOptions()
.UseModel(model)
.UseInMemoryStore();
var customer = new Customer { Id = 42 };
using (var context = new DbContext(options))
{
context.Add(customer);
// TODO: Better API for shadow state access
var customerEntry = context.ChangeTracker.Entry(customer).StateEntry;
customerEntry[customerType.GetProperty("Name")] = "Daenerys";
await context.SaveChangesAsync();
customerEntry[customerType.GetProperty("Name")] = "Changed!";
}
using (var context = new DbContext(options))
{
var customerFromStore = context.Set<Customer>().Single();
Assert.Equal(42, customerFromStore.Id);
Assert.Equal(
"Daenerys",
(string)context.ChangeTracker.Entry(customerFromStore).Property("Name").CurrentValue);
}
using (var context = new DbContext(options))
{
var customerEntry = context.ChangeTracker.Entry(customer).StateEntry;
customerEntry[customerType.GetProperty("Name")] = "Daenerys Targaryen";
context.Update(customer);
await context.SaveChangesAsync();
}
using (var context = new DbContext(options))
{
var customerFromStore = context.Set<Customer>().Single();
Assert.Equal(42, customerFromStore.Id);
Assert.Equal(
"Daenerys Targaryen",
(string)context.ChangeTracker.Entry(customerFromStore).Property("Name").CurrentValue);
}
using (var context = new DbContext(options))
{
context.Delete(customer);
await context.SaveChangesAsync();
}
using (var context = new DbContext(options))
{
Assert.Equal(0, context.Set<Customer>().Count());
}
}