本文整理汇总了C#中EntityManager.SaveChanges方法的典型用法代码示例。如果您正苦于以下问题:C# EntityManager.SaveChanges方法的具体用法?C# EntityManager.SaveChanges怎么用?C# EntityManager.SaveChanges使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EntityManager
的用法示例。
在下文中一共展示了EntityManager.SaveChanges方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SimpleConcurrencyFault
public async Task SimpleConcurrencyFault() {
Configuration.Instance.ProbeAssemblies(typeof(Customer).Assembly);
// Query Alfred
var entityManager1 = new EntityManager(_northwindServiceName);
var query = new EntityQuery<Customer>().Where(c => c.CustomerID == _alfredsID);
var alfred1 = (await entityManager1.ExecuteQuery(query)).FirstOrDefault();
// Query a second copy of Alfred in a second entity manager
var entityManager2 = new EntityManager(_northwindServiceName);
var alfred2 = (await entityManager2.ExecuteQuery(query)).FirstOrDefault();
// Modify and save the first Alfred
alfred1.ContactTitle += "X";
// Currently, this throws due to "changes to an original record may not be saved"
// ...whatever that means
var saveResult1 = await entityManager1.SaveChanges();
// Attempt to modify and save the second Alfred
alfred2.ContactName += "Y";
try {
var saveResult2 = await entityManager2.SaveChanges();
}
catch (SaveException e) {
var message = e.Message;
}
}
示例2: 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");
}
示例3: UpdateProduct
private async Task UpdateProduct(EntityManager em, int productID) {
// ok(true, "TODO for Mongo - needs to be written specifically for Mongo - should succeed in Mongo");
var q0 = new EntityQuery<Product>().Where(p => p.ProductID == productID);
var r0 = await em.ExecuteQuery(q0);
Assert.IsTrue(r0.Count() == 1, "should be 1 result");
var prod = r0.First();
prod.UnitsInStock = (short)(prod.UnitsInStock.HasValue ? prod.UnitsInStock.Value + 1 : 1);
var sr0 = await em.SaveChanges();
Assert.IsTrue(sr0.Entities.Count == 1);
}
示例4: DeleteWithoutQuery
public async Task DeleteWithoutQuery() {
var em1 = await TestFns.NewEm(_serviceName);
var emp = new Employee();
emp.FirstName = "Test Fn";
emp.LastName = "Test Fn";
em1.AddEntity(emp);
var sr = await em1.SaveChanges();
Assert.IsTrue(sr.Entities.Count == 1, "should have saved 1 entity");
Assert.IsTrue(sr.Entities.First() == emp, "should be the same emp");
var em2 = new EntityManager(em1);
em2.ImportEntities(em1.ExportEntities());
var sameEmp = (Employee) em2.GetEntities().First();
Assert.IsTrue(emp.EntityAspect.EntityKey == sameEmp.EntityAspect.EntityKey, "should have the same key");
sameEmp.EntityAspect.Delete();
Assert.IsTrue(sameEmp.EntityAspect.EntityState.IsDeleted());
var sr2 = await em2.SaveChanges();
Assert.IsTrue(sr2.Entities.First() == sameEmp, "should still be the same emp");
Assert.IsTrue(sameEmp.EntityAspect.EntityState.IsDetached());
Assert.IsTrue(em2.GetEntities().Count() == 0, "should be no entities");
}