0

我正在尝试使用以下代码中的连接字符串删除和创建我的数据库:

// NOT WORKING: private ProjectDataSource _dataSource;
private DataContext _dataSource;

public void Initialize ()
{
// NOT WORKING: _dataSource = new ProjectDataSource(connectionString);
_dataSource = new DataContext(connectionString); 
_datasource.DeleteDatabase();
_datasource.CreateDatabase();
}

如果我使用一个DataContext对象它可以工作,但是如果我使用我的实现DbContext,它不会。我使用 ProjectDataSource 得到“无法解析符号 DeleteDatabase”。这是ProjectDataSource

public class ProjectDataSource : DbContext, IProjectDataSource
    {

        public ProjectDataSource() : base("DefaultConnection")
        {

        }

        public ProjectDataSource(string connectionString) : base("connectionString")
            {

            }

        public DbSet<Item> Items { get; set; }


        void IProjectDataSource.Save()
        {
            SaveChanges();
        }

        IQueryable<Item> IProjectDataSource.Items
        {
            get { return Items; }
        }

    }

让这个工作的最佳方法是什么?

4

1 回答 1

1

您可以有一个将连接字符串作为参数的构造函数:

public ProjectDataSource(string connectionString) : base(connectionString)
{
}

进而:

public void Initialize ()
{
    _dataSource = new ProjectDataSource(connectionString);
    _datasource.Database.Delete();
    _datasource.Database.Create();
}
于 2013-03-01T23:15:01.543 回答