실제 데이터베이스로 이동하거나 데이터베이스 게시판을 지키지 않고 C# Sqlite로 단위 테스트를 실행하려고 시도했습니다. Nhibernate C# Sqlite .C#을 가진 NHibernate -> .NET 2.0에 DbConnection이 없음
불행히도 NHibernate는 C# -Sqlite 드라이버가 제공하지 않는 DbConnection이되도록 연결해야합니다. 나는 소스 코드에보고하고 다음 코드를 발견 :
#if NET_2_0
public class SqliteConnection : DbConnection, ICloneable
#else
public class SqliteConnection : IDbConnection, ICloneable
#endif
이 Aparently 저자는 "오래된"기본 클래스를 중단하고 IDbConnection을, IDbTransaction, ... 대신 인터페이스를 사용하기로 결정했다.
코드를 변경하는 것은 테스트 및 유지 관리해야하는 새 클라이언트를 작성하는 것과 같기 때문에 옵션을 사용할 수 없습니다.
누구나 NHibernate와 C# sqlite 작업의 현재 버전을 얻는 쉬운 해결책을 알고 있습니까?
왜이 문제가 (데이터베이스에 우리의 스키마를 수출하는) 세션 공장을 다시 내 공장 클래스에서 사용하는 이벤트를 추가? –
문제가 실제로 무엇인지 잘 모르겠습니다. 내가 sqlite로 테스트하는 방법을 말할 수있다. –
예외 : 15 : 03 : 28,877 ERROR [7] SchemaValidator [(null)] - 데이터베이스 메타 데이터를 가져올 수 없습니다. System.InvalidCastException : Das Objekt des Typs "Community.CsharpSqlite.SQLiteClient.SqliteConnection" System.Data.Common.DbConnection "umgewandelt werden. bei NHibernate.Tool.hbm2ddl.ManagedProviderConnectionHelper.Prepare() bei NHibernate.Tool.hbm2ddl.SchemaValidator.Validate() – Zebi