本文整理汇总了C#中EntityManager.Clear方法的典型用法代码示例。如果您正苦于以下问题:C# EntityManager.Clear方法的具体用法?C# EntityManager.Clear怎么用?C# EntityManager.Clear使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EntityManager
的用法示例。
在下文中一共展示了EntityManager.Clear方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: QueryWithAFilter
public async Task QueryWithAFilter()
{
var manager = new EntityManager(_serviceName);
// Metadata must be fetched before CreateEntity() can be called
await manager.FetchMetadata();
// Ensure there is at least one active todo item named Wine in the database
var wines = await new EntityQuery<TodoItem>().Where(td => td.Description == "Wine" && !td.IsArchived && !td.IsDone).Execute(manager);
if (!wines.Any()) {
var newWine = manager.CreateEntity<TodoItem>(new {Description = "Wine"});
await manager.SaveChanges();
}
manager.Clear();
//Snippet1
var query1 = new EntityQuery<TodoItem>();
var allTodos = await manager.ExecuteQuery(query1);
Assert.IsTrue(allTodos.Any(), "No TodoItems in the database");
//Snippet2
var query2 = query1.Where(td => !td.IsArchived);
var unarchivedTodos = await manager.ExecuteQuery(query2);
Assert.IsTrue(unarchivedTodos.Any(), "No unarchived TodoItems in the database");
//Snippet3
var query3 = query1.Where(td => !td.IsArchived && !td.IsDone);
var activeTodos = await manager.ExecuteQuery(query3);
Assert.IsTrue(activeTodos.Any(), "No active TodoItems in the database");
//Snippet4
var query4 = query1.Where(td => td.Description.Contains("Wine"));
var wineTodos = await manager.ExecuteQuery(query4);
Assert.IsTrue(allTodos.Any(), "No Wine TodoItems in the database");
//Snippet5
// Execute above query locally
var localWineTodos = manager.ExecuteQueryLocally(query4);
Assert.AreEqual(wineTodos.Count(), localWineTodos.Count(), "Got " + localWineTodos.Count() + " local wine TodoItems");
}
示例2: ImportChangedEntityAndRestoreItsOriginalState
public async Task ImportChangedEntityAndRestoreItsOriginalState()
{
var manager = new EntityManager(_serviceName);
await manager.FetchMetadata(); // Metadata must be fetched before CreateEntity() can be called
// Suppose we are editing a customer
const string originalCustomerName = "Foo";
var customer =
manager.CreateEntity<Customer>(new {CustomerID = Guid.NewGuid(), CompanyName = originalCustomerName},
EntityState.Unchanged);
// We change his CompanyName
customer.CompanyName = "Bar";
// We export and stash these changes offline
// because we are not ready to save them
// (in the test we just export)
var exportData = manager.ExportEntities();
// We re-run the app later with a clean manager
manager.Clear();
var imported = manager.ImportEntities(exportData);
customer = imported.ImportedEntities.Cast<Customer>().First();
// We want to revert our changes and restore the customer to its original state
customer.EntityAspect.RejectChanges();
Assert.AreEqual(originalCustomerName, customer.CompanyName);
}
示例3: ExportImportSelectedEntities
public async Task ExportImportSelectedEntities()
{
var manager = new EntityManager(_serviceName);
var manager2 = new EntityManager(_serviceName);
await PrimeCache(manager);
var customers = manager.GetEntities<Customer>().ToList();
var exportData1 = manager.ExportEntities(new IEntity[] {customers[0]}); // array with 1 customer
var importData1 = manager2.ImportEntities(exportData1);
Assert.AreEqual(1, importData1.ImportedEntities.Count);
manager2.Clear();
var exportData2 = manager.ExportEntities(new IEntity[] {customers[0], customers[1]}); // array of 2 customers
var importData2 = manager2.ImportEntities(exportData2);
Assert.AreEqual(2, importData2.ImportedEntities.Count);
manager2.Clear();
Assert.AreEqual(0, manager.GetChanges().Count());
customers.First().City = "Paris";
var exportData3 = manager.ExportEntities(manager.GetChanges()); // all pending changes
var importData3 = manager2.ImportEntities(exportData3);
Assert.AreEqual(1, importData3.ImportedEntities.Count);
manager2.Clear();
var selectedCustomerQuery = new EntityQuery<Customer>().Where(customer => customer.City.StartsWith("P"));
var selectedCustomers = manager.ExecuteQueryLocally(selectedCustomerQuery); // cache-only query returns synchronously
var exportData4 = manager.ExportEntities(selectedCustomers); // the 'P' customers
var importData4 = manager2.ImportEntities(exportData4);
Assert.AreEqual(1, importData4.ImportedEntities.Count);
}