Asp.net mvc 无法将行添加到LINQ to EntityFramework中的表中-AddObject和InsertOnSubmit均缺失
我知道它应该是一个或另一个,这取决于是使用LINQtoSQL还是使用LINQtoEntities,但我知道为什么这两个选项(AddObject或InsertOnSubmit)都不可用吗?我正在使用LINQ转换实体,所以我不应该期望看到AddObject吗 更新:根据请求,我正在添加代码 控制器:Asp.net mvc 无法将行添加到LINQ to EntityFramework中的表中-AddObject和InsertOnSubmit均缺失,asp.net-mvc,visual-studio-2012,linq-to-entities,Asp.net Mvc,Visual Studio 2012,Linq To Entities,我知道它应该是一个或另一个,这取决于是使用LINQtoSQL还是使用LINQtoEntities,但我知道为什么这两个选项(AddObject或InsertOnSubmit)都不可用吗?我正在使用LINQ转换实体,所以我不应该期望看到AddObject吗 更新:根据请求,我正在添加代码 控制器: using System.Data; using System.Data.Entity; using System.Linq; ...Unimportant code... private
using System.Data;
using System.Data.Entity;
using System.Linq;
...Unimportant code...
private DataModel db = new DataModel(); // <-- DataModel.edmx
...Unimportant code...
[HttpPost]
public ActionResult ProcessApplication (HttpPostedFileBase file) {
JobBoardUsersModel jm = new JobBoardUsersModel();
...jm properties are set...
db.JobBoardUsers.Add(jm) // <- Here is where I cannot use AddObject or Add
client.Send(message);
jobDetails.IsApplied = true;
return RedirectToAction("Index", jobDetails);
}
AddObject()
是ObjectSet
上的一种方法,可以在ObjectContext
上访问。但是如果您使用的是Entity Framework 4.1或更高版本,则可能使用的是DbContext
,它是更复杂的ObjectContext
API上的一个门面
DbSet
上的AddObject()
(这是您在DbContext
中使用的)的等价物是Add()
见:
如果需要访问DbContext
上不可用的任何内容,也可以访问ObjectContext
var objectContext = ((IObjectContextAdapter)context).ObjectContext;
至于InsertOnSubmit()
,它仅在LINQtoSQL中可用
---更新---
应该是
JobBoardUser jm = new JobBoardUser();
非常感谢,但这比我目前的水平略高。我用我的模型作为参数尝试了“Add”方法,得到了一个“invalid arguments”错误。不用担心。您需要发布更多代码和详细信息以获得更多帮助。我添加了一些详细信息。希望这能澄清我的问题。完全无效参数错误是什么?听起来好像向JobBoardUsers添加了错误的模型。“System.Data.Entity.Dbset.Add(JobBoard.Models.JobBoardUsers)”的最佳重载方法匹配的参数无效”
JobBoardUsersModel jm = new JobBoardUsersModel();
JobBoardUser jm = new JobBoardUser();