Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 上下文和上下文初始值设定项未运行_C#_Asp.net_Asp.net Mvc_Ef Code First - Fatal编程技术网

C# 上下文和上下文初始值设定项未运行

C# 上下文和上下文初始值设定项未运行,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

我正在MVC站点上尝试代码优先开发,尽管global.ascx文件正在运行代码以生成新的初始值设定项,但初始值设定项本身并没有运行。我在上下文的开头和初始值设定项上都放置了一个断点,但它们都没有被命中

Global.ascx

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