尝试使用 Entity Framework 将值保存到数据库时出现元数据错误
Getting metadata error while trying to save values to DB using Entity Framework
我对 entity framework 有点陌生。
我创建了一个示例应用程序以使用 entity framework 将值保存到数据库 table。
我在下面给出了我的代码片段。
[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);" 行中收到以下编译错误。
"The best overloaded method match for 'System.Data.Objects.ObjectSet.AddObject(FinancialManagementSystem.Models.Employee_Master)' has some invalid arguments S:\SourceCode\FinancialManagementSystem\FinancialManagementSystem\Controllers\EmployeeController.cs"
我做错了什么?
使用 Add 而不是 AddObject。
EmployeeModel 是在 View 和 Controller 之间传输数据的模型。
您要插入的 table 是哪个?
例如,您有 table 名员工。
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/
我对 entity framework 有点陌生。
我创建了一个示例应用程序以使用 entity framework 将值保存到数据库 table。
我在下面给出了我的代码片段。
[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);" 行中收到以下编译错误。
"The best overloaded method match for 'System.Data.Objects.ObjectSet.AddObject(FinancialManagementSystem.Models.Employee_Master)' has some invalid arguments S:\SourceCode\FinancialManagementSystem\FinancialManagementSystem\Controllers\EmployeeController.cs"
我做错了什么?
使用 Add 而不是 AddObject。 EmployeeModel 是在 View 和 Controller 之间传输数据的模型。 您要插入的 table 是哪个? 例如,您有 table 名员工。
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/