是否可以在建立连接后检查(MySQL)数据库是否存在.
我知道如何检查数据库中是否存在表,但我需要检查数据库是否存在.如果不是,我必须调用另一段代码来创建它并填充它.
我知道这听起来有点不雅 - 这是一个快速而肮脏的应用程序.
有这个简单的代码,我得到"不能删除数据库"test_db"因为它当前正在使用"(CleanUp方法),因为我运行它.
[TestFixture]
public class ClientRepositoryTest
{
private const string CONNECTION_STRING = "Data Source=.;Initial Catalog=test_db;Trusted_Connection=True";
private DataContext _dataCntx;
[SetUp]
public void Init()
{
Database.SetInitializer(new DropCreateDatabaseAlways<DataContext>());
_dataCntx = new DataContext(CONNECTION_STRING);
_dataCntx.Database.Initialize(true);
}
[TearDown]
public void CleanUp()
{
_dataCntx.Dispose();
Database.Delete(CONNECTION_STRING);
}
}
Run Code Online (Sandbox Code Playgroud)
DataContext有一个这样的属性
public DbSet<Client> Clients { get; set; }
Run Code Online (Sandbox Code Playgroud)
如何强制我的代码删除数据库?谢谢
database unit-testing entity-framework database-connection entity-framework-4.1
我希望能够以编程方式(在T-SQL中)检查我当前的服务器和数据库是否已存在特定的链接服务器(如果链接尚不存在,我可以创建它).我试过这样的东西:
IF OBJECT_ID('myserver\devdb_1') IS NULL
BEGIN
PRINT 'Does not exist, need to create link'
EXEC master.dbo.sp_addlinkedserver @server = N'myserver\devdb_1',
@srvproduct=N'SQL Server'
END
ELSE
PRINT 'Link already exists'
Run Code Online (Sandbox Code Playgroud)
但OBJECT_ID测试始终返回null,即使该链接已存在.任何方法都可以检查T-SQL,以便我的其余代码可以假设链接始终存在?