所以我通过创建博客来学习MVC和EF7 Code First。每次我点击发送博客帖子按钮时,我都会收到500内部服务器错误,该按钮应创建一个新的本地数据库并插入帖子。将表单数据发送到控制器的视图工作正常我已经使用断点检查了它,但它在此行中断了
var db = new BlogDataContext();
这是我的BlogDataContext
namespace test.Models
{
public class BlogDataContext : DbContext
{
public DbSet<Post> Post { get; set; }
public BlogDataContext()
{
Database.EnsureCreated();
} /// This row is marked red on my error page after i press the send blog post button
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
base.OnConfiguring(optionsBuilder);
var connectionString = @"Server=(LocalDB)\MSSQLLocalDB;Database=test;";
optionsBuilder.UseSqlServer(connectionString);
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.ForSqlServer().UseIdentity();
}
}
}
我的控制器的相关方法
[HttpPost]
public IActionResult Create(Post post)
{
if (!ModelState.IsValid)
{
return View(post);
}
post.PostedDate = DateTime.Now; // Breakpoint here shows the datetime just fine after pressing the Send button.
post.Author = User.Identity.Name; // This is null for now
var db = new BlogDataContext(); db.Post.Add(post);
db.SaveChanges();
return View();
答案 0 :(得分:0)
所以我的依赖项是错误的,我的DNX版本是beta5而我的entityframework.sqlserver是beta4,所以我把它升级到beta5,但在OnConfiguring和DbContextOptionsBuilder上出错了。它无法找到覆盖。
所以我只是将所有内容都恢复到beta4,并且它可以工作,尽管网站在iis express中加载速度较慢。