在Entity Framework中测试连接字符串是否存在错误密码

时间:2014-10-22 19:46:13

标签: c# entity-framework database-connection

我是实体框架(代码优先)的初学者,我必须修改应用程序。

我的Context类继承自DbContext。在构造函数中,我传递了connectionString。

代码示例(不是我的):

public partial class MyEntities : DbContext
{
    public MyEntities(string paramType, string connectionString)
        : base(connectionString)
    {
        Database.Connection.ConnectionString = connectionString;
    }
}

但我不明白连接的位置。如果connectionString中给出的密码错误,我想捕获错误,然后尝试连接另一个密码,并在连接到数据库时捕获事件。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

我相信你在问,How can I detect if the connection string is valid.

DbContext.Database有一个名为Connection的属性,您可以使用它来检索实体框架将使用的连接。然后,您可以调用Open()来测试连接本身。

答案 1 :(得分:0)

如何检查上下文的连接字符串会有所不同,具体取决于您使用的EF版本。

//Entity Framework 5
myContext.Database.Connection.ConnectionString
//Entity Framework 6
myContext.Database.Connection.ConnectionString
//Entity Framework Core 1
myContext.Database.GetDbConnection().ConnectionString

查看我写的关于它的博客文章 - http://NoDogmaBlog.bryanhogan.net/2016/04/entity-framework-checking-the-connection-string-of-your-context/