嘗試執行簡單的linq插入查詢時發生錯誤。實體框架5 Linq插入查詢:操作無效
異常:由於對象的當前狀態,操作無效。
這裏是我的LINQ查詢:
private void addEntry(string hqname, string hqaddress, string hqcity,
int hqzip, string hqstate, string hqcountry)
{
using (var db = new dbcontext())
{
try
{
var dbObj = new dbObj();
dbObj.HQName = hqname;
dbObj.HQAddress = hqaddress;
dbObj.HQCity = hqcity;
dbObj.HQZip = hqzip;
dbObj.HQState = hqstate;
dbObj.HQCountry = hqcountry;
db.tblName.Add(dbObj);
db.SaveChanges();
}
catch
{
throw new InvalidOperationException();
}
}
}
這裏的地方我把這種方法:
addCompanyHeadquarters(tbCompanyName.Text, addressInput.HQAddress, addressInput.HQCity, Convert.ToInt32(addressInput.HQZip), addressInput.HQState, "United States");
堆棧跟蹤:
[出現InvalidOperationException:操作無效由於目標的當前狀態。] addComp任何總部(字符串hqname,字符串hqaddress,字符串hqcity,Int32 hqzip,字符串hqstate,字符串hqcountry)在 Button3_Click(Object sender,EventArgs e) System.Web.UI.WebControls.Button.OnClick(EventArgs e)+9692746 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)+108 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)+12 System.Web.UI。 Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,字符串eventArgument)15 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection中POSTDATA)35 System.Web.UI.Page.ProcessRequestMain(布爾includeStagesBeforeAsyncPoint,布爾includeStagesAfterAsyncPoint)3562
我一直在試圖調試一段時間,這個錯誤是真的把我扔了一個循環。我不確定接下來要看什麼。任何提示前進,非常感謝。一些信息:我不得不更新的ID數據庫列自動增量,然後後,我改變了edmx
文件StoredGeneratedPattern: True
更新相應的表和列:從葉戈爾Semenenko的意見,我加入改變了例外,我扔給拋出; 扔;: 我的繼承人新的堆棧跟蹤: 實體類型是不是該機型爲當前上下文 的一部分[出現InvalidOperationException:實體類型tblName是不是模型對當前環境的一部分]
System.Data.Entity.Internal.InternalContext.UpdateEntitySetMappingsForType(Type entityType) +196
System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) +38
System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() +52
System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext() +15
System.Data.Entity.Internal.Linq.InternalSet`1.ActOnSet(Action action, EntityState newState, Object entity, String methodName) +64
System.Data.Entity.Internal.Linq.InternalSet`1.Add(Object entity) +108
System.Data.Entity.DbSet`1.Add(TEntity entity) +42
addCompanyHeadquarters(String hqname, String hqaddress, String hqcity, Int32 hqzip, String hqstate, String hqcountry) in
Button3_Click(Object sender, EventArgs e)
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9692746
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +12
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +15
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3562
更新ID爲自動增量修復它?另外,你是否錯過了這個對象上的FK關係? –
將列更新爲自動增加不能修復它不幸的是,我將它設置爲主鍵。 – yoprogrammer
實際的異常在途中丟失。我想你必須解決這個問題,所以你可能會做一個修復並部署它。爲什麼不先從刪除try/catch塊開始,因爲沒用?然後你會看到實際的錯誤。它可能是NULL約束,違反唯一約束等 –