好的,这是场景.我有3张桌子.一个名为aspnet_Users的名为Categories,一个名为User_Categories的链接表.aspnet_Users和Categories都有主键(分别是UserId和ID).链接表只有两列:CategoryID和UserId,并且每列都有外键关系设置,并且我对User_Categories上的两列有唯一的键设置.这将在aspnet_Users表和Categories表之间建立多对多关系.我从这个数据库设置生成了我的实体edmx文件,一切看起来都很完美,几乎适用于所有操作.
我想要做的是从表单中添加一个新类别(它自己完美地工作),同时还将特定用户与新提交的类别相关联.当我尝试这样做时,我在主题行中得到错误.这是我用来尝试这个的代码(ctx是我的实体上下文对象):
public ActionResult Create(Category category, Guid userId)
{
aspnet_Users user = ctx.aspnet_Users.SingleOrDefault(x => x.UserId == userId);
ctx.Categories.AddObject(category);
user.Categories.Add(category);
ctx.SaveChanges();;
return RedirectToAction("Index");
}
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?