仅在首次运行visual c#应用程序时创建数据库

时间:2016-02-01 10:00:52

标签: c# mysql

任何人都帮我在第一次运行c#应用程序时在MySQL中创建一个数据库。第二次运行此应用程序时,如果数据库存在,则应跳过创建数据库代码。

2 个答案:

答案 0 :(得分:1)

如果您在Entity Framework中首先使用代码,则可以使用C#中的类创建数据库,以定义表和关系。

一旦你有了你的课程,你只需要更改或设置一个连接字符串到你的数据库,然后运行代码...然后将为你创建数据库...通过魔术......或你的类!!

网上有很多样本 代码优先与Azure http://www.dotnetjalps.com/2015/04/entity-framework-code-first--mysql-azure.html

Entity Framework Code First - Create Database with MySql?

答案 1 :(得分:0)

private static bool CheckDatabaseExists(SqlConnection tmpConn, string databaseName)
{
    string sqlCreateDBQuery;
    bool result = false;

    try
    {
        tmpConn = new SqlConnection("server=(local)\\SQLEXPRESS;Trusted_Connection=yes");

        sqlCreateDBQuery = string.Format("SELECT database_id FROM sys.databases WHERE Name 
        = '{0}'", databaseName);

        using (tmpConn)
        {
            using (SqlCommand sqlCmd = new SqlCommand(sqlCreateDBQuery, tmpConn))
            {
                tmpConn.Open();

                object resultObj = ExecuteScalar();

                int databaseID = 0;    

                if (resultObj != null)
                {
                    int.TryParse(resultObj.ToString(), out databaseID);
                }

                tmpConn.Close();

                result = (databaseID > 0);
            }
        }
    } 
    catch (Exception ex)
    { 
        result = false;
    }

    return result;
}

这将与您作为参数传入的任何数据库名称一起使用,它将返回bool true =数据库存在,false =数据库不存在(或发生错误)。如果为true则跳过创建false意味着创建数据库..