我不知道为什么会收到此错误:
类型' System.InvalidOperationException'的例外情况发生在 EntityFramework.dll但未在用户代码中处理
附加信息:支持' GuestbookContext' 自创建数据库以来,上下文已更改。考虑使用 代码优先迁移以更新数据库
迁移后,一切都没有改变。 但是,如果删除属性[必需],索引操作可以正常运行。
CREATE TABLE [dbo].[GuestbookEntries] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[UserName] NCHAR (10) NOT NULL,
[PostText] VARCHAR (50) NOT NULL,
[PostDate] DATETIME NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
我的模特:
namespace Guestbook.Models
{
public class GuestbookEntry
{
public int Id { get; set; }
[Required]
public string UserName { get; set; }
[Required]
public string PostText { get; set; }
public DateTime PostDate { get; set; }
}
}
namespace Guestbook.Models
{
public class GuestbookContext : DbContext
{
public GuestbookContext() : base("Guestbook") {} // define name of database
public DbSet<GuestbookEntry> Entries { get; set; }
}
}
我的留言簿控制器:
namespace Guestbook.Controllers
{
public class GuestbookController : Controller
{
//
// GET: /Guestbook/
//
private GuestbookContext _db = new GuestbookContext();
public ActionResult Index()
{
// error here
var mostRecentEntries = (from entry in _db.Entries orderby entry.PostDate descending select entry).Take(20);
ViewBag.Entries = mostRecentEntries.ToList();
return View();
}
}