本文整理汇总了C#中EarlyLearningCenter.SaveChanges方法的典型用法代码示例。如果您正苦于以下问题:C# EarlyLearningCenter.SaveChanges方法的具体用法?C# EarlyLearningCenter.SaveChanges怎么用?C# EarlyLearningCenter.SaveChanges使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EarlyLearningCenter
的用法示例。
在下文中一共展示了EarlyLearningCenter.SaveChanges方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SaveChanges_only_passes_dirty_entries_to_Database
public void SaveChanges_only_passes_dirty_entries_to_Database()
{
var passedEntries = new List<IUpdateEntry>();
var database = new Mock<IDatabase>();
database.Setup(s => s.SaveChanges(It.IsAny<IReadOnlyList<IUpdateEntry>>()))
.Callback<IEnumerable<IUpdateEntry>>(passedEntries.AddRange)
.Returns(3);
var valueGenMock = new Mock<IValueGeneratorSelector>();
valueGenMock.Setup(m => m.Select(It.IsAny<IProperty>(), It.IsAny<IEntityType>())).Returns(Mock.Of<ValueGenerator>());
var servicesMock = new Mock<IDatabaseProviderServices>();
servicesMock.Setup(m => m.Database).Returns(database.Object);
servicesMock.Setup(m => m.ValueGeneratorSelector).Returns(valueGenMock.Object);
servicesMock.Setup(m => m.ModelSource).Returns(new Mock<ModelSource>(new DbSetFinder(), new CoreConventionSetBuilder())
{ CallBase = true }.Object);
servicesMock
.Setup(m => m.ModelValidator)
.Returns(new LoggingModelValidator(new Logger<LoggingModelValidator>(new LoggerFactory())));
var sourceMock = new Mock<IDatabaseProvider>();
sourceMock.Setup(m => m.IsConfigured(It.IsAny<IDbContextOptions>())).Returns(true);
sourceMock.Setup(m => m.GetProviderServices(It.IsAny<IServiceProvider>())).Returns(servicesMock.Object);
var services = new ServiceCollection();
services.AddEntityFramework();
services.AddInstance(sourceMock.Object);
var serviceProvider = services.BuildServiceProvider();
using (var context = new EarlyLearningCenter(serviceProvider, new DbContextOptionsBuilder().Options))
{
context.Entry(new Category { Id = 1 }).State = EntityState.Unchanged;
context.Entry(new Category { Id = 2 }).State = EntityState.Modified;
context.Entry(new Category { Id = 3 }).State = EntityState.Added;
context.Entry(new Category { Id = 4 }).State = EntityState.Deleted;
Assert.Equal(4, context.ChangeTracker.Entries().Count());
context.SaveChanges();
}
Assert.Equal(3, passedEntries.Count);
database.Verify(
s => s.SaveChanges(It.IsAny<IReadOnlyList<InternalEntityEntry>>()),
Times.Once);
}
示例2: SaveChanges_only_passes_dirty_entries_to_DatStore
public void SaveChanges_only_passes_dirty_entries_to_DatStore()
{
var passedEntries = new List<StateEntry>();
var store = new Mock<DataStore>();
store.Setup(s => s.SaveChangesAsync(It.IsAny<IReadOnlyList<StateEntry>>(), It.IsAny<CancellationToken>()))
.Callback<IEnumerable<StateEntry>, CancellationToken>((e, c) => passedEntries.AddRange(e))
.Returns(Task.FromResult(3));
var servicesMock = new Mock<DataStoreServices>();
servicesMock.Setup(m => m.Store).Returns(store.Object);
servicesMock.Setup(m => m.ValueGeneratorCache).Returns(Mock.Of<ValueGeneratorCache>);
servicesMock.Setup(m => m.ModelBuilderFactory).Returns(new ModelBuilderFactory());
var sourceMock = new Mock<DataStoreSource>();
sourceMock.Setup(m => m.IsAvailable).Returns(true);
sourceMock.Setup(m => m.IsConfigured).Returns(true);
sourceMock.Setup(m => m.StoreServices).Returns(servicesMock.Object);
var services = new ServiceCollection();
services.AddEntityFramework();
services.AddInstance(sourceMock.Object);
var serviceProvider = services.BuildServiceProvider();
var options = new DbContextOptions();
using (var context = new EarlyLearningCenter(serviceProvider, options))
{
context.ChangeTracker.Entry(new Category { Id = 1 }).State = EntityState.Unchanged;
context.ChangeTracker.Entry(new Category { Id = 2 }).State = EntityState.Modified;
context.ChangeTracker.Entry(new Category { Id = 3 }).State = EntityState.Added;
context.ChangeTracker.Entry(new Category { Id = 4 }).State = EntityState.Deleted;
Assert.Equal(4, context.ChangeTracker.Entries().Count());
context.SaveChanges();
}
Assert.Equal(3, passedEntries.Count);
store.Verify(
s => s.SaveChangesAsync(It.IsAny<IReadOnlyList<StateEntry>>(), It.IsAny<CancellationToken>()),
Times.Once);
}
示例3: SaveChanges_doesnt_call_Database_when_nothing_is_dirty
public void SaveChanges_doesnt_call_Database_when_nothing_is_dirty()
{
var database = new Mock<IDatabase>();
var servicesMock = new Mock<IDatabaseProviderServices>();
servicesMock.Setup(m => m.Database).Returns(database.Object);
servicesMock.Setup(m => m.ModelSource).Returns(new Mock<ModelSource>(new DbSetFinder(), new CoreConventionSetBuilder())
{ CallBase = true }.Object);
servicesMock
.Setup(m => m.ModelValidator)
.Returns(new LoggingModelValidator(new Logger<LoggingModelValidator>(new LoggerFactory())));
var sourceMock = new Mock<IDatabaseProvider>();
sourceMock.Setup(m => m.IsConfigured(It.IsAny<IDbContextOptions>())).Returns(true);
sourceMock.Setup(m => m.GetProviderServices(It.IsAny<IServiceProvider>())).Returns(servicesMock.Object);
var services = new ServiceCollection();
services.AddEntityFramework();
services.AddInstance(sourceMock.Object);
var serviceProvider = services.BuildServiceProvider();
using (var context = new EarlyLearningCenter(serviceProvider, new DbContextOptionsBuilder().Options))
{
context.Entry(new Category { Id = 1 }).State = EntityState.Unchanged;
context.Entry(new Category { Id = 2 }).State = EntityState.Unchanged;
Assert.Equal(2, context.ChangeTracker.Entries().Count());
context.SaveChanges();
}
database.Verify(
s => s.SaveChangesAsync(It.IsAny<IReadOnlyList<InternalEntityEntry>>(), It.IsAny<CancellationToken>()),
Times.Never);
}
示例4: SaveChanges_doesnt_call_DataStore_when_nothing_is_dirty
public void SaveChanges_doesnt_call_DataStore_when_nothing_is_dirty()
{
var store = new Mock<DataStore>();
var servicesMock = new Mock<DataStoreServices>();
servicesMock.Setup(m => m.Store).Returns(store.Object);
servicesMock.Setup(m => m.ModelBuilderFactory).Returns(new ModelBuilderFactory());
var sourceMock = new Mock<DataStoreSource>();
sourceMock.Setup(m => m.IsAvailable).Returns(true);
sourceMock.Setup(m => m.IsConfigured).Returns(true);
sourceMock.Setup(m => m.StoreServices).Returns(servicesMock.Object);
var services = new ServiceCollection();
services.AddEntityFramework();
services.AddInstance(sourceMock.Object);
var serviceProvider = services.BuildServiceProvider();
var options = new DbContextOptions();
using (var context = new EarlyLearningCenter(serviceProvider, options))
{
context.ChangeTracker.Entry(new Category { Id = 1 }).State = EntityState.Unchanged;
context.ChangeTracker.Entry(new Category { Id = 2 }).State = EntityState.Unchanged;
Assert.Equal(2, context.ChangeTracker.Entries().Count());
context.SaveChanges();
}
store.Verify(
s => s.SaveChangesAsync(It.IsAny<IReadOnlyList<StateEntry>>(), It.IsAny<CancellationToken>()),
Times.Never);
}