C# 上下文和上下文初始值设定项未运行
我正在MVC站点上尝试代码优先开发,尽管global.ascx文件正在运行代码以生成新的初始值设定项,但初始值设定项本身并没有运行。我在上下文的开头和初始值设定项上都放置了一个断点,但它们都没有被命中 Global.ascxC# 上下文和上下文初始值设定项未运行,c#,asp.net,asp.net-mvc,ef-code-first,C#,Asp.net,Asp.net Mvc,Ef Code First,我正在MVC站点上尝试代码优先开发,尽管global.ascx文件正在运行代码以生成新的初始值设定项,但初始值设定项本身并没有运行。我在上下文的开头和初始值设定项上都放置了一个断点,但它们都没有被命中 Global.ascx Database.SetInitializer<AbstractContext>(new AbstractContextInitializer()); 请确保将初始值设定项代码放入Global.asax.cs文件中MVCAPApplication类的受保护的v
Database.SetInitializer<AbstractContext>(new AbstractContextInitializer());
请确保将初始值设定项代码放入Global.asax.cs文件中MVCAPApplication类的受保护的void应用程序\u Start()方法中。以下是关于DropCreateDatabaseAlwaysInitializer的帖子 @EduLopez是对的,请确保运行以下命令
Database.SetInitializer(new AbstractContextInitializer());
在访问上下文之前
我也不是100%确定,但我认为在您尝试访问上下文之前不会进行种子设定。因此,在认为查询不起作用之前,请确保运行查询。您可以将对初始值设定项的调用放入DbContext类中,如下所示:
Public Class AuctionsDataContext
Inherits DbContext
Public Property Auctions As DbSet(Of Auction)
Public Property Bids As DbSet(Of Bid)
Shared Sub New()
Database.SetInitializer(New DropCreateDatabaseIfModelChanges(Of AuctionsDataContext))
End Sub
End Class
请注意,构造函数需要定义为静态(C#)或共享(VB)方法。您是否更改了模型?初始值设定项仅在模型更改时运行。尝试运行命令var modelChanged=context.Database.CompatibleWithModel(true);看看模型是否改变了。。。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace AbstractThinking2015.Models
{
public class BlogModel
{
//public BlogModel()
//{
// Date = DateTime.Now;
// User = "Liane";
//}
public int BlogModelId { get; set; }
[DisplayName("Blog Title")]
[Required(ErrorMessage = "Your blog must have a title")]
public string Title { get; set; }
[DisplayName("Blog Date")]
[Required(ErrorMessage = "Your blog must have a date")]
public DateTime Date { get; set; }
[DisplayName("Blog User")]
[Required(ErrorMessage = "Your blog must have a user")]
public string User { get; set; }
[DisplayName("Blog Category")]
[Required(ErrorMessage = "Your blog must have a category")]
public string Category { get; set; }
[DisplayName("Blog Post")]
[Required(ErrorMessage = "Your blog must have a post")]
[DataType(DataType.MultilineText)]
public string Post { get; set; }
}
}
Database.SetInitializer(new AbstractContextInitializer());
Public Class AuctionsDataContext
Inherits DbContext
Public Property Auctions As DbSet(Of Auction)
Public Property Bids As DbSet(Of Bid)
Shared Sub New()
Database.SetInitializer(New DropCreateDatabaseIfModelChanges(Of AuctionsDataContext))
End Sub
End Class