C# 不';t实现IDatabaseInitializer的接口

C# 不';t实现IDatabaseInitializer的接口,c#,asp.net-mvc,C#,Asp.net Mvc,当我使用System.Data.Entity.IDatabaseInitializer的接口时,它总是说它没有实现该接口 namespace ImageSharingWithAuth.DAL { public class ImageSharingDB : DbContext { public DbSet<Image> Images { get; set; } public DbSet<User> Users { get

当我使用
System.Data.Entity.IDatabaseInitializer
的接口时,它总是说它没有实现该接口

namespace ImageSharingWithAuth.DAL
{
    public class ImageSharingDB : DbContext
    {
        public DbSet<Image> Images { get; set; }   
        public DbSet<User> Users { get; set; }   
        public DbSet<Tag> Tags { get; set; }    
        public ImageSharingDB() : base("DefaultConnection") { }   
    }
}


namespace ImageSharingWithAuth.DAL
{
    public class ImageSharingDBInitializer : IDatabaseInitializer<ImageSharingDB>
    {
        public void IntializeDatabase(ImageSharingDB db)
        {
            if (db.Database.Exists())
            {
                db.Database.ExecuteSqlCommand("alter database ImageSharingWithAuth set single_user with rollback immediate");
                db.Database.Delete();
            }
            db.Database.Create();   
            WebSecurity.InitializeDatabaseConnection(
                "DefaultConnection",
                "Users",
                "Id",
                "UserId",
                autoCreateTables: true);
            this.Seed(db);
        }
        protected void Seed(ImageSharingDB db)
        {......
命名空间ImageSharingWithAuth.DAL
{
公共类ImageSharingDB:DbContext
{
公共数据库集映像{get;set;}
公共数据库集用户{get;set;}
公共DbSet标记{get;set;}
公共ImageSharingDB():base(“DefaultConnection”){}
}
}
命名空间ImageSharingWithAuth.DAL
{
公共类ImageSharingDBInitializer:IDatabaseInitializer
{
公共无效初始化数据库(ImageSharingDB)
{
if(db.Database.Exists())
{
db.Database.ExecuteSqlCommand(“alter Database IMAGESHARINGWITH AUTH set single_user with rollback immediate”);
db.Database.Delete();
}
db.Database.Create();
WebSecurity.InitializeDatabaseConnection(
“默认连接”,
“用户”,
“身份证”,
“用户ID”,
自动创建表:true);
这是种子(db);
}
受保护的无效种子(ImageSharingDB)
{......
接口应该是
System.Data.Entity.IDatabaseInitializer
其中
TContext:DbContext
,而
ImageSharingDB
do是
DbContext
,因此我认为
ImageSharingDBInitializer
应该实现
IDatabaseInitializer

但是,.Net抛出一个错误:

错误CS0535:“ImageSharingWithAuth.DAL.ImageSharingDBInitializer”未实现
接口成员System.Data.Entity.IDatabaseInitializer.InitializeDatabase(ImageSharingWithAuth.DAL.ImageSharingDB)'


它应该在-i-tializeDatabase中,但您在tializeDatabase中有。

如果您想确保您的类从接口实现所有契约,请右键单击接口的名称(
公共类类名:interfaceName
)并选择实现接口。当然,您必须实现生成方法:)