我正嘗試使用實體框架將數據從ASP.Net Web API應用程序插入到數據庫中。但我得到一個例外:不能使用實體框架插入數據
An exception of type 'System.Data.Entity.Infrastructure.DbUpdateException' occurred in EntityFramework.dll but was not handled in user code.
當該方法激發時發生異常db.SaveChanges(); 這裏是POST方法的代碼:
public HttpResponseMessage PostTransaction(Transaction transaction)
{
if (ModelState.IsValid)
{
// db.Entry(transaction).State = EntityState.Added;
db.Transactions.Add(transaction);
try
{
db.SaveChanges();
}
catch (DbUpdateConcurrencyException)
{
return Request.CreateResponse(HttpStatusCode.NotFound);
}
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, transaction);
response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = transaction }));
return response;
}
else
{
return Request.CreateResponse(HttpStatusCode.BadRequest);
}
}
這裏是模型:
public partial class Transaction
{
public int TrnID { get; set; }
public string TrnSubject { get; set; }
public int TrnCategoryID { get; set; }
public DateTime TrnDate { get; set; }
public int TrnAccount { get; set; }
public bool TrnType { get; set; }
public decimal TrnAmount { get; set; }
}
錯誤消息是什麼做,如果你調試你?什麼是不更新的原因? –
你不是想編輯已有的項目嗎?如果是,那麼你應該在實際更新之前調用** Attach **。 –
我試圖插入新項目 – MohamedAbbas