尝试使用Entity Framework将值保存到DB时获取元数据错误

时间:2015-03-28 11:48:48

标签: entity-framework crud

我对实体框架并不陌生。

我创建了一个示例应用程序,使用实体框架将值保存到数据库表。

我在下面给出了我的代码片段。

[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"

我做错了什么?

1 个答案:

答案 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/