我是实体框架(代码优先)的初学者,我必须修改应用程序。
我的Context类继承自DbContext。在构造函数中,我传递了connectionString。
代码示例(不是我的):
public partial class MyEntities : DbContext
{
public MyEntities(string paramType, string connectionString)
: base(connectionString)
{
Database.Connection.ConnectionString = connectionString;
}
}
但我不明白连接的位置。如果connectionString中给出的密码错误,我想捕获错误,然后尝试连接另一个密码,并在连接到数据库时捕获事件。
我该怎么做?
答案 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/