我的數據庫中有兩個表, 1.員工,模型如下。InvalidOprerationException嘗試使用entityframework MVC插入數據到數據庫MVC
public class Employees
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int DepartmentId { get; set; }
public string Designation { get; set; }
public DateTime DateOfBirth { get; set; }
[ForeignKey("Id")]
public virtual IList<Address> Address { get; set; }
}
我有另一個名爲Address的表。該模型如下。
public class Address
{
public int Id { get; set; }
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public string City { get; set; }
public string State { get; set; }
public string PinCode { get; set; }
}
員工可以有多個地址。我正在動態添加控件以添加地址。我正在使用實體框架工作的所有操作,如創建數據庫,更新等。
我用於將數據添加到數據庫的代碼如下。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(string command,[Bind(Include = "Id,FirstName,LastName,DepartmentId,Designation,DateOfBirth")] Employees employees, [Bind(Include = "Id,AddressLine1,AddressLine2,City,State,PinCode")] List<Address> address)
{
if (ModelState.IsValid)
{
foreach (var item in address)
{
db.Address.Add(item);
}
db.Employees.Add(employees);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(employees);
}
當我插入數據時,數據被插入到數據庫中,但我得到以下異常。
「System.InvalidOperationException」類型的異常出現在EntityFramework.SqlServer.dll但在用戶代碼中沒有處理
其他信息:對數據庫的更改被成功提交,但出現錯誤而更新對象上下文。 ObjectContext可能處於不一致的狀態。內部異常消息:無法在實體類型GridSample.Models.Employees上設置字段/屬性地址。詳情請參閱InnerException。
設置InnerException:
{「無法轉換類型 'GridSample.Models.Address' 的目的爲類型 'System.Collections.Generic.IList`1 [GridSample.Models.Address]' 「}
請幫我解決這個問題。
這沒有奏效。我現在沒有在地址中獲得價值。 – 2015-02-10 09:31:19
對我來說地址是空的。 – 2015-02-10 10:42:38