powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Fluent NHibernate "виртуальная" Reference( )
4 сообщений из 4, страница 1 из 1
Fluent NHibernate "виртуальная" Reference( )
    #37237301
Здравствуйте !
Подскажите пожалуйста, можно ли в FNh сделать Reference в программе при условии, что в базе связи между таблицами нет ?

Сейчас есть в таком виде:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
public class ReservoirsMap:ClassMap<RESERVOIRS>
    {
        public ReservoirsMap()
        {
            Id(x => x.Channel).GeneratedBy.Assigned();
            Map(m => m.Reservoir_Cod).Unique().Not.Nullable();
            Map(m => m.Date_Calibration);
            References(x => x.Fuel).Column("CodFuel").Cascade.None();
        }
    }

    public class FuelMap : ClassMap<FUEL>
    {
        public FuelMap()
        {
            Id(x => x.CodFuel).GeneratedBy.Assigned();
            Map(m => m.Name).Not.Nullable().Length(18);
            Map(m => m.Num);
            Map(m => m.F_Stop);
        }
    }
RESERVOIR нормально считывается с заполненным свойством Fuel, но при сохранении ArgumentOutOfRangeException в момент transaction.Commit()...

Ошибка происходит из-за Reference... Есть ли какой-то способ реализовать это без связи в базе ?
...
Рейтинг: 0 / 0
Fluent NHibernate "виртуальная" Reference( )
    #37237561
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чистяк Константин,

ArgumentOutOfRangeException не похоже на ошибку БД. Может CallStack'ом поделитесь?
...
Рейтинг: 0 / 0
Fluent NHibernate "виртуальная" Reference( )
    #37239298
в System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)\r\n
в System.ThrowHelper.ThrowArgumentOutOfRangeException()\r\n
в System.Collections.Generic.List`1.get_Item(Int32 index)\r\n
в FirebirdSql.Data.FirebirdClient.FbParameterCollection.get_Item(Int32 index)\r\n
в FirebirdSql.Data.FirebirdClient.FbParameterCollection.GetParameter(Int32 index)\r\n
в System.Data.Common.DbParameterCollection.System.Collections.IList.get_Item(Int32 index)\r\n
в NHibernate.Type.Int32Type.Set(IDbCommand rs, Object value, Int32 index)\r\n
в NHibernate.Type.NullableType.NullSafeSet(IDbCommand cmd, Object value, Int32 index)\r\n
в NHibernate.Type.NullableType.NullSafeSet(IDbCommand st, Object value, Int32 index, ISessionImplementor session)\r\n
в NHibernate.Persister.Entity.AbstractEntityPersister.Dehydrate(Object id, Object[] fields, Object rowId, Boolean[] includeProperty, Boolean[][] includeColumns, Int32 table, IDbCommand statement, ISessionImplementor session, Int32 index)\r\n
в NHibernate.Persister.Entity.AbstractEntityPersister.Update(Object id, Object[] fields, Object[] oldFields, Object rowId, Boolean[] includeProperty, Int32 j, Object oldVersion, Object obj, SqlCommandInfo sql, ISessionImplementor session)\r\n
в NHibernate.Persister.Entity.AbstractEntityPersister.UpdateOrInsert(Object id, Object[] fields, Object[] oldFields, Object rowId, Boolean[] includeProperty, Int32 j, Object oldVersion, Object obj, SqlCommandInfo sql, ISessionImplementor session)\r\n
в NHibernate.Persister.Entity.AbstractEntityPersister.Update(Object id, Object[] fields, Int32[] dirtyFields, Boolean hasDirtyCollection, Object[] oldFields, Object oldVersion, Object obj, Object rowId, ISessionImplementor session)\r\n
в NHibernate.Action.EntityUpdateAction.Execute()\r\n
в NHibernate.Engine.ActionQueue.Execute(IExecutable executable)\r\n
в NHibernate.Engine.ActionQueue.ExecuteActions(IList list)\r\n
в NHibernate.Engine.ActionQueue.ExecuteActions()\r\n
в NHibernate.Event.Default.AbstractFlushingEventListener.PerformExecutions(IEventSource session)\r\n
в NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent event)\r\n
в NHibernate.Impl.SessionImpl.Flush()\r\n
в NHibernate.Transaction.AdoTransaction.Commit()\r\n
в Sango_AWP_Template.Data_Layer.Repositories.EntityRepository`1.Save(T item)
в E:\\РАЗРАБОТКА\\Visual Studio 2008\\Projects\\NHibernate\\Sango AWP Template\\Sango AWP Template\\Data Layer\\Repositories\\EntityRepository.cs:строка 77\r\n
в Sango_AWP_Template.GUI.Reservoirs.Save_v() в E:\\РАЗРАБОТКА\\Visual Studio 2008\\Projects\\NHibernate\\Sango AWP Template\\Sango AWP Template\\GUI\\Reservoirs.cs:строка 116\r\n
в Sango_AWP_Template.GUI.Templates_Layer.AbstractForm.SaveAll() в E:\\РАЗРАБОТКА\\Visual Studio 2008\\Projects\\NHibernate\\Sango AWP Template\\Sango AWP Template\\GUI\\Templates Layer\\AbstractForm.cs:строка 57\r\n
в Sango_AWP_Template.GUI.Templates_Layer.DataForm.saveButton_Click(Object sender, EventArgs e)
в E:\\РАЗРАБОТКА\\Visual Studio 2008\\Projects\\NHibernate\\Sango AWP Template\\Sango AWP Template\\GUI\\Templates Layer\\DataForm.cs:строка 26\r\n
в System.Windows.Forms.Control.OnClick(EventArgs e)\r\n в System.Windows.Forms.Button.OnClick(EventArgs e)\r\n в System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)\r\n
в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)\r\n
в System.Windows.Forms.Control.WndProc(Message& m)\r\n
в System.Windows.Forms.ButtonBase.WndProc(Message& m)\r\n
в System.Windows.Forms.Button.WndProc(Message& m)\r\n
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)\r\n
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)\r\n
в System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)\r\n
в System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)\r\n в System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)\r\n
в System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)\r\n
в System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)\r\n
в System.Windows.Forms.Application.Run(Form mainForm)\r\n
в Sango_AWP_Template.Program.Main() в E:\\РАЗРАБОТКА\\Visual Studio 2008\\Projects\\NHibernate\\Sango AWP Template\\Sango AWP Template\\Program.cs:строка 21\r\n
в System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)\r\n
в System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)\r\n
в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()\r\n
в System.Threading.ThreadHelper.ThreadStart_Context(Object state)\r\n
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)\r\n
в System.Threading.ThreadHelper.ThreadStart()"
...
Рейтинг: 0 / 0
Fluent NHibernate "виртуальная" Reference( )
    #37239466
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чистяк Константин,

Похоже дело не в nhibernate, просто firebird провайдер плохо работает с параметрами. Можно погуглить в эту сторону. Или написать вопрос сюда .
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Fluent NHibernate "виртуальная" Reference( )
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]