当我尝试在ASP .NET MVC应用程序中使用LINQ获取帖子时,我得到InvalidOperationException

时间:2015-07-18 10:30:37

标签: c# asp.net asp.net-mvc linq entity-framework

我不知道为什么会收到此错误:

  

类型' 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();
        }
}

0 个答案:

没有答案