Я получаю сообщение об ошибке «Не удается открыть базу данных пользователя по умолчанию. Ошибка входа». Я использовал ORM для создания DataContext, в коде сначала вызывается функция TableExists, чтобы проверить, существует ли version_tbl, если нет, то вызывает сценарии для выполнения команд sql для создания version_tbl. Затем создайте новый dataContext, но проблема в том, что после вызова я получаю эту ошибку на объекте dataContext. Если я удаляю вызов TableExists, то создание dataContext в порядке или переносит создание dataContext до вызова TableExists, но тогда проблема возникает в вызове TableExists при попытке подключения. Похоже, я могу подключиться только один раз. В любом случае я могу вызвать TableExists, а затем создать dataContext?
Ниже приведен пример кода
static bool TableExists (строка tableName)
{
using (SqlConnection connection = new SqlConnection("Data Source=localhost\\SQLEXPRESS;Initial Catalog=planning;Integrated Security=True"))
{
string checkTable =
String.Format(
"IF OBJECT_ID('{0}', 'U') IS NOT NULL SELECT 'true' ELSE SELECT 'false'",
tableName);
SqlCommand command = new SqlCommand(checkTable, connection);
command.CommandType = CommandType.Text;
connection.Open();
bool retVal = Convert.ToBoolean(command.ExecuteScalar());
return retVal;
}
}
myFunc ()
{
if (!TableExists ("version_tbl"))
{
// call scripts to create version_tbl
}
DataContext ctx = new DataContext ();