я использую для разработки моего приложения Визуальное Estudio 2010 C#, NHibernate queryover, SilverLight 5, в этой части все отлично работает в части доступа к данным я использую это:hhibernate вопрос транзакции, когда я использовал в моно
using (var session = NHibernateFactory.OpenSession())
{
ClassAlias ca = null;
var x = session.QueryOver<SomeClass>()
.Where(root=>root.SomeField > somefield)
.SelectList(list=>list
.Select(root=>root.SomeField1).WithAlias(()=>ca.SF1)
...
.Select(root=>root.SomeFieldN).WithAlias(()=>ca.SF2)
)
.UnderlyingCriteria.SetResultTransformer(
Transformers.AdvanceEntityMapTransformer<ClassAlias>())
.List<ClassAlias>();
}
Все для доступа к данным отборное заявление, так что проблема, когда я действительно опубликовать мое приложение в Linux среду с моно, то я начать эту прерывистую ошибку:
16:51:45.488 [Threadpool worker] ERROR NHibernate.Transaction.AdoTransaction - Begin transaction failed
System.NotImplementedException: The requested feature is not implemented.
at MySql.Data.MySqlClient.MySqlConnection.EnlistTransaction (System.Transactions.Transaction transaction) [0x00000] in <filename unknown>:0
at MySql.Data.MySqlClient.MySqlConnection.Open() [0x00000] in <filename unknown>:0
at NHibernate.Connection.DriverConnectionProvider.GetConnection() [0x00000] in <filename unknown>:0
это бревно из NHibernate общего файла журнала, думаю, что я не нахожу whow, чтобы исправить это, любой hel р будет действительно Wellcome
я добавить пользовательский журнал для захвата исключение и убедитесь, что это исключение в NHibernate является причиной моего запроса не получится, что это так, и это исключение:
ERROR serverAppLog - custom error message
NHibernate.Exceptions.GenericADOException: could not execute query
[ SELECT this_.list_id as y0_, this_.list_name as y1_ FROM vicidial_lists this_ ]
[SQL: SELECT this_.list_id as y0_, this_.list_name as y1_ FROM vicidial_lists this_] ---> System.NotImplementedException: The requested feature is not implemented.
at MySql.Data.MySqlClient.MySqlConnection.EnlistTransaction (System.Transactions.Transaction transaction) [0x00000] in <filename unknown>:0
at MySql.Data.MySqlClient.MySqlConnection.Open() [0x00000] in <filename unknown>:0
at NHibernate.Connection.DriverConnectionProvider.GetConnection() [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at NHibernate.Loader.Loader.DoList (ISessionImplementor session, NHibernate.Engine.QueryParameters queryParameters) [0x00000] in <filename unknown>:0
at NHibernate.Loader.Loader.ListIgnoreQueryCache (ISessionImplementor session, NHibernate.Engine.QueryParameters queryParameters) [0x00000] in <filename unknown>:$
at NHibernate.Loader.Loader.List (ISessionImplementor session, NHibernate.Engine.QueryParameters queryParameters, ISet`1 querySpaces, NHibernate.Type.IType[] resu$
at NHibernate.Loader.Criteria.CriteriaLoader.List (ISessionImplementor session) [0x00000] in <filename unknown>:0
at NHibernate.Impl.SessionImpl.List (NHibernate.Impl.CriteriaImpl criteria, IList results) [0x00000] in <filename unknown>:0
Вы используете System.Transactions/TransactionScope в своем приложении? –
Я не напрямую, но распространение NHibernate, которое я использую, предоставляется моей компанией. –