本文整理汇总了C#中System.Data.DbContext.SaveChanges方法的典型用法代码示例。如果您正苦于以下问题:C# DbContext.SaveChanges方法的具体用法?C# DbContext.SaveChanges怎么用?C# DbContext.SaveChanges使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.DbContext
的用法示例。
在下文中一共展示了DbContext.SaveChanges方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Create
/// <summary>
/// Create News Media Content
/// </summary>
/// <param name="newsMedia">newsMedia</param>
/// <returns>Returns the news media content</returns>
public NewsMedia Create(NewsMedia newsMedia)
{
using(var database = new DbContext(CONNECTION_NAME))
{
database.Set<NewsMedia>().Add(newsMedia);
database.SaveChanges();
return newsMedia;
}
}
示例2: Update
/// <summary>
/// Update News Media Content
/// </summary>
/// <param name="newsMedia">newsMedia</param>
/// <returns>Returns the news media content</returns>
public NewsMedia Update(NewsMedia newsMedia)
{
using (var database = new DbContext(CONNECTION_NAME))
{
var entryMedia = database.Entry<NewsMedia>(newsMedia);
entryMedia.State = EntityState.Unchanged;
entryMedia.Property("Status").IsModified = true;
entryMedia.Property("Remarks").IsModified = true;
entryMedia.Property("IsCompleted").IsModified = true;
database.SaveChanges();
}
}
示例3: SaveContextChanges
private static void SaveContextChanges(DbContext ctx, PoliticaConcorrencia politicaConcorrencia = PoliticaConcorrencia.UsarInfoCtx)
{
bool falha;
do {
falha = false;
try { ctx.SaveChanges(); }
catch (DbUpdateConcurrencyException ex) {
Console.WriteLine("Ocorreu uma DbUpdateConcurrencyException durante o SaveChanges.");
falha = true;
switch (politicaConcorrencia)
{
case PoliticaConcorrencia.UsarInfoBD:
{
// ignorar as alterações feitas no contexto e usar a informação corrente na BD (estado = unchanged)
ex.Entries.Single().Reload();
break;
}
case PoliticaConcorrencia.UsarInfoCtx:
{
// esmagar as alterações na BD
var entry = ex.Entries.Single();
var dbValues = entry.GetDatabaseValues();
entry.OriginalValues.SetValues(dbValues);
break;
}
case PoliticaConcorrencia.FnResolucaoConflitos:
{
// deixar que a aplicação cliente decida
var entry = ex.Entries.Single();
var dbValues = entry.GetDatabaseValues();
entry.CurrentValues.SetValues(ResolverConflitos(entry.OriginalValues, entry.CurrentValues, dbValues));
entry.OriginalValues.SetValues(dbValues);
break;
}
default:
throw new Exception("Politica desconhecida: " + politicaConcorrencia.ToString());
}
}
} while (falha);
}
示例4: SaveChanges
private void SaveChanges(DbContext context)
{
try
{
context.SaveChanges();
}
catch (DbEntityValidationException ex)
{
StringBuilder sb = new StringBuilder();
foreach (var failure in ex.EntityValidationErrors)
{
sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType());
foreach (var error in failure.ValidationErrors)
{
sb.AppendFormat("{0} : {1}", error.PropertyName, error.ErrorMessage, " * ");
sb.AppendLine();
}
}
throw new DbEntityValidationException(
"Entity Validation Failed: " +
sb.ToString(), ex
); // Add the original exception as the innerException
}
catch (Exception ex)
{
throw;
}
}