Greetings,
I'm experiencing a couple of problems trying to migrate to .NET Core/Standard and LLBLGen 5.3 (5.3.3 RTM currently).
1) We're getting:
System.IO.FileNotFoundException: 'Could not load file or assembly 'System.Data.SqlClient, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified.'
at SD.LLBLGen.Pro.ORMSupportClasses.PersistenceCore.CleanupDataReader(IDataReader reader, IQuery queryExecuted, Boolean disposeReader)\r\n at SD.LLBLGen.Pro.ORMSupportClasses.EntityMaterializerBase.Materialize(Func`4 valueReadErrorHandler, String& failureErrorText)\r\n at SD.LLBLGen.Pro.ORMSupportClasses.DaoBase.ExecuteMultiRowRetrievalQuery(IRetrievalQuery queryToExecute, ITransaction containingTransaction, IEntityCollection collectionToFill, Boolean allowDuplicates, IEntityFields fieldsUsedForQuery, IFieldPersistenceInfo[] fieldPersistenceInfos)\r\n at SD.LLBLGen.Pro.ORMSupportClasses.DaoBase.PerformGetMultiAction(ITransaction containingTransaction, QueryParameters parameters)\r\n at SD.LLBLGen.Pro.ORMSupportClasses.EntityCollectionBase`1.GetMulti(IPredicate selectFilter)\r\n at DevArtTest.Program.PrintTermLLBL() in ....
I don't see why it's trying to call SqlClient when we are using MySQL. Here's our DQE config:
RuntimeConfiguration.AddConnectionString("ConnectionString.MySql (MySqlDirect)", "Server=localhost;Database=XXX;Uid=YYY;Pwd=ZZZ;License Key=[redacted];");
// Configure the DQE
RuntimeConfiguration.ConfigureDQE<MySqlDQEConfiguration>(
c => c.AddDbProviderFactory(typeof(Devart.Data.MySql.MySqlProviderFactory)).
SetIncludeCatalogNameInObjectNamesFlag(false)
);
Is there a System.Data.SqlClient dependency even when using MySQL? It does seem to work if we add the reference to that.
2) Our 2nd issue happens both in .NET Full and in .NET Core. Even if we set:
SetIncludeCatalogNameInObjectNamesFlag(false)
Our generated code appears to rely on a matching catalog name.
Specifically it's included in InitXXXEntityMappings calls to AddElementMapping in the generated PersistenceInfoProvider.cs
How can we go about specifying the catalog name at runtime for MySQL?
Thanks for your help!