我创建了一个控制台应用程序并使用EntityFramework6.2(用于连接MSSQL)、MySql.Data8.0.11和MySql.Data.Entity6.10.7(用于连接MySQL)。在此应用程序中,我想创建一个类似于SQL作业的作业,但我不想使用quertz.net。我有错误:"Attemptbymethod'MySql.Data.Entity.EFMySqlCommand.set_DbConnection(System.Data.Common.DbConnection)'toaccessmethod'MySql.Data.MySqlClient.MySqlConnect
我是Java翻新者,对C#还很陌生。我希望在接下来的几周内编写一堆DML代码时不会遇到麻烦。我习惯于使用JDBC的抽象类,如Connection、Statement等。C#在System.Data.Common命名空间中提供类似的抽象类,如DbConnection、DbCommand等。但是,我在MS文档和其他书籍中看到的大多数示例都使用具体类:SqlConnection、OracleCommand等。这种具体性甚至出现在mySQL文档中。这方面的最佳实践是什么?是否有充分的理由为此目的选择具体的特定于表服务器的类而不是抽象类?(当然,我知道将抽象向下转换为具体的危险)。
我正在尝试对一些.NET类进行单元测试(出于良好的设计原因),这些类需要DbConnections来完成它们的工作。对于这些测试,我在内存中有一些数据可以作为这些类的输入。内存中的数据可以很容易地表示为DataTable(或包含该DataTable的DataSet),但如果另一个类更合适,我可以使用它。如果我能够以某种方式神奇地获得一个表示与内存数据的连接的DbConnection,那么我可以构造我的对象,让它们针对内存数据执行查询,并确保它们的输出符合预期.有没有办法让DbConnection连接到内存中的数据?我没有安装任何其他第三方软件来实现这一点的自由,理想情况下,我不想在测试