我对实体框架并不陌生。
我创建了一个示例应用程序,使用实体框架将值保存到数据库表。
我在下面给出了我的代码片段。
[HttpPost]
public ActionResult Employee(EmployeeModel model)
{
if (ModelState.IsValid)
{
// insert
var _insert = new EmployeeModel
{
FirstName = model.FirstName,
LastName = model.LastName,
Initial = model.Initial,
DOB = model.DOB,
DOJ = model.DOJ,
Role = model.Role,
City = model.City,
State = model.State,
Country = model.Country
};
db.Employee_Master.AddObject(_insert);
db.SaveChanges();
return View();
}
我在" db.Employee_Master.AddObject(_insert);"中收到以下编译错误线。
"最好的重载方法匹配' System.Data.Objects.ObjectSet.AddObject(FinancialManagementSystem.Models.Employee_Master)'有一些无效的参数S:\ SourceCode \ FinancialManagementSystem \ FinancialManagementSystem \ Controllers \ EmployeeController.cs"
我做错了什么?
答案 0 :(得分:1)
使用Add而不是AddObject。 EmployeeModel是在View和Controller之间传输数据的模型。 您要插入哪个表? 举个例子,你有表Employee。
public DbSet<Blog> Employees { get; set; }
db.Employees.Add(new Employee {FirstName = model.FirstName,....});
但是如果你还想使用AddObject:
db.Employee_Master.AddObject(new Employee {...}); //Employee is the name of the class represent for Employee_Master, maybe is Employee_Master of your problem.
以下是Add和AddObject之间的区别:http://blog.cincura.net/232485-someentityset-addobject-vs-addtosomeentityset-methods/