Почему несколько раз эта ошибка происходит "не удалось подключиться к базе данных" с запросом EF?
привет,
несколько раз (5-10%), когда я пытаюсь выполнить запрос EF, появляется эта ошибка :
System.Exception: خطأ عند محاولة ملء مصدر البيانات. تم طرح الاستثناء التالي: Failed to connect to the database. To learn more, see the exception details. Exception details: The default DbConfiguration instance was used by the Entity Framework before an attempt was made to set an instance of 'DbConfiguration'. The 'DbConfiguration' instance must be set at application start before using any Entity Framework features or must be registered in the application's config file. See http://go.microsoft.com/fwlink/?LinkId=260883 for more information. ---> DevExpress.XtraReports.DataRetrievalException: خطأ عند محاولة ملء مصدر البيانات. تم طرح الاستثناء التالي: Failed to connect to the database. To learn more, see the exception details. Exception details: The default DbConfiguration instance was used by the Entity Framework before an attempt was made to set an instance of 'DbConfiguration'. The 'DbConfiguration' instance must be set at application start before using any Entity Framework features or must be registered in the application's config file. See http://go.microsoft.com/fwlink/?LinkId=260883 for more information. ---> DevExpress.DataAccess.EntityFramework.EFConnectionException: Failed to connect to the database. To learn more, see the exception details. Exception details: The default DbConfiguration instance was used by the Entity Framework before an attempt was made to set an instance of 'DbConfiguration'. The 'DbConfiguration' instance must be set at application start before using any Entity Framework features or must be registered in the application's config file. See http://go.microsoft.com/fwlink/?LinkId=260883 for more information. ---> System.InvalidOperationException: The default DbConfiguration instance was used by the Entity Framework before an attempt was made to set an instance of 'DbConfiguration'. The 'DbConfiguration' instance must be set at application start before using any Entity Framework features or must be registered in the application's config file. See http://go.microsoft.com/fwlink/?LinkId=260883 for more information.
это происходит не с одним запросом, а с разными запросами
Что я уже пробовал:
я не могу следить за этой ошибкой, потому что она внезапно происходит, но я проверил службу MySQL, и она работает.
С чего мне начать отслеживание и поиск решения этой проблемы?
Обновление 1
я использую эту функцию для установки пользовательских параметров подключения
public static mrsalesdbEntities OpenConn() { mrsalesdbEntities MrSalesContext = new mrsalesdbEntities(); MrSalesContext.Database.CommandTimeout = 999999; MrSalesContext.ChangeDatabase ( initialCatalog: myconn.database, port: Convert.ToUInt32( myconn.port), userId: myconn.uid, password: myconn.password, dataSource: myconn.server ); return MrSalesContext; }
mrsalesdbEntities DB1 = ConnectionTools.OpenConn();
Обновление 2
я попытался добавить свои пользовательские конфигурации, но также он все еще считывает параметры подключения из файла App.config
public class FE6CodeConfig : DbConfiguration { public FE6CodeConfig() { SetDefaultConnectionFactory(new LocalDbConnectionFactory(myconn.database,myconn.mrsales_Coonn)); } } //[DbConfigurationType(typeof(FE6CodeConfig))] [DbConfigurationType("MrSales.MrSModels.FE6CodeConfig, MrSales")]
ZurdoDev
Первый результат google, c# - экземпляр DbConfiguration по умолчанию использовался до того, как был обнаружен тип entityframeworkconfiguration - переполнение стека[^]
Golden Basim
я использую эту функцию для установки пользовательских параметров подключения
public static mrsalesdbEntities OpenConn() { mrsalesdbEntities MrSalesContext = new mrsalesdbEntities(); MrSalesContext.Database.CommandTimeout = 999999; MrSalesContext.ChangeDatabase ( initialCatalog: myconn.database, port: Convert.ToUInt32( myconn.port), userId: myconn.uid, password: myconn.password, dataSource: myconn.server ); return MrSalesContext; }
mrsalesdbEntities DB1 = ConnectionTools.OpenConn();