【发布时间】:2015-05-07 06:17:03
【问题描述】:
大家好,所以我在互联网上尝试了一些想法来解决这个问题,但都失败了,所以我为什么要写这个,所以也许有人可以在实体框架最新版本中帮助我:)
using (var ctx = new ESContext())
{
quote =
ctx.HB_Quote.FirstOrDefault(x => x.ID == issuesContract.EvidenceContract.QuoteContract.ServerID) ??
new ESModel.HB_Quote()
{
ID = issuesContract.EvidenceContract.QuoteContract.ServerID ?? 0,
QuoteLegend = issuesContract.EvidenceContract.QuoteContract.QuoteLegend,
QuoteText = issuesContract.EvidenceContract.QuoteContract.QuoteText
};
if (issuesContract.EvidenceContract.QuoteContract.ServerID == null)
{
ctx.HB_Quote.Add(quote);
}
else
{
ctx.Entry(quote).State = EntityState.Modified;
}
ctx.SaveChanges();
}
using (var ctx = new ESContext())
{
imageLibrary =
ctx.HB_ImageLibrary.FirstOrDefault(
x => x.ID == issuesContract.EvidenceContract.ImageLibaryContract.ServerID) ??
new ESModel.HB_ImageLibrary()
{
ID = issuesContract.EvidenceContract.ImageLibaryContract.ServerID ?? 0,
Conclusion = issuesContract.EvidenceContract.ImageLibaryContract.Conclusion,
Image = issuesContract.EvidenceContract.ImageLibaryContract.Image,
Title = issuesContract.EvidenceContract.ImageLibaryContract.Title
};
if (issuesContract.EvidenceContract.ImageLibaryContract.ServerID == null)
{
ctx.HB_ImageLibrary.Add(imageLibrary);
}
else
{
ctx.Entry(imageLibrary).State = EntityState.Modified;
}
ctx.SaveChanges();
}
最后一部分 co 使用了这个错误:
EntityFramework.dll 中出现“System.Data.Entity.Infrastructure.DbUpdateConcurrencyException”类型的异常,但未在用户代码中处理
附加信息:存储更新、插入或删除语句影响了意外数量的行 (0)。自加载实体后,实体可能已被修改或删除。有关理解和处理乐观并发异常的信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=472540。
【问题讨论】:
标签: c# database entity-framework orm