我正在尝试使用来自以下代码的连接字符串删除和创建我的数据库:
// 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; }
}
}
让这项工作最好的方法是什么?
答案 0 :(得分:1)
你可以让一个构造函数将连接字符串作为参数:
public ProjectDataSource(string connectionString) : base(connectionString)
{
}
然后:
public void Initialize ()
{
_dataSource = new ProjectDataSource(connectionString);
_datasource.Database.Delete();
_datasource.Database.Create();
}