C# EntityFramework.dll中发生“System.InvalidOperationException”类型的异常,但注册时未在用户代码中处理
我的代码中出现以下异常 EntityFramework.dll中发生“System.InvalidOperationException”类型的异常,但未在用户代码中处理 其他信息:实体类型用户不是当前上下文模型的一部分 下面是我的注册控制器C# EntityFramework.dll中发生“System.InvalidOperationException”类型的异常,但注册时未在用户代码中处理,c#,asp.net,asp.net-mvc,entity-framework,asp.net-mvc-5,C#,Asp.net,Asp.net Mvc,Entity Framework,Asp.net Mvc 5,我的代码中出现以下异常 EntityFramework.dll中发生“System.InvalidOperationException”类型的异常,但未在用户代码中处理 其他信息:实体类型用户不是当前上下文模型的一部分 下面是我的注册控制器 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace Registratio
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Registration2.Controllers
{
public class userController : Controller
{
// GET: user
public ActionResult Index() => View();
public ActionResult Register() => View();
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Register(Registration2.user U)
{
if (ModelState.IsValid)
{
using (MyDatabase2Entities dc = new MyDatabase2Entities())
{
//you should check duplicate registration here
// dc.users.Add
dc.users.Add(U);
dc.SaveChanges();
ModelState.Clear();
U = null;
ViewBag.Message = "Successfully Registration Done";
}
}
return View(U);
}
}
}
我对ASP.net和MVC完全陌生,所以如果我遗漏了什么,请告诉我,我会在这里发布
实体类型用户不是当前上下文的模型的一部分
这是突出的部分。用户对象是MyDatabase2Entities上下文的一部分吗?看起来不是这样。如果右键单击数据模型并选择“验证”,是否会出现任何错误?请将代码包装在try-catch块中,并向我们显示异常消息和堆栈跟踪,我们将能够为您提供更多帮助。另外,当保存后返回视图时,为什么要将用户设置为null?另外,U应该是小写的参数名称。我更喜欢使用小写的类名。因此,使用用户而不是U。@CarlProthman:是的,我将U删除为null,但我不知道如何验证数据模型,请告诉我如何验证数据模型?是的,您在这里是正确的,但如何使其成为当前上下文的一部分?右键单击数据模型并选择“从数据库更新”,向导出现后,确保选择用户表。HTH@CarlProthman:非常感谢,伙计,你确实解决了我的问题,但这是我唯一可以接受的答案,不用担心。很高兴这解决了你的问题。