c# - NHibernate Session in WPF MVVM -


i using wpf nhibernate using single session mutiple thread causing many error same this link. have start , close session done. problem be lazy data. confuse how fetch them mvvm below :-

class product {  public virtual string name{get;set;} public virtual session session{get;set;} // lazy public virtual categories cate{get;set;} //lazy public virtual warehose warehouse{get;set;} //lazy    public virtual string name         {             { return name; }             set             {                 name = value;                 onpropertychanged("name");             }         }   public virtual string terminalname         {             { return session.terminal.terminalname; }             set             {                 session.terminal.terminalname= value;                 onpropertychanged("terminalname");             }         }   public virtual string catename         {             { return session.cate.catename; }             set             {                 session.cate.catename= value;                 onpropertychanged("catename");             }         }   public virtual string username         {             { return session.user.username; }             set             {                 session.user.username= value;                 onpropertychanged("username");             }         }  }  class categories { public virtual string catename{set;get;} }  class warehose { public virtual string warename{set;get;} }  class session{ public virtual people user{get;set;} //lazy public virtual terminal terminal{get;set;} //lazy //... other properties }   class people{ public virtual string username{set;get;} }  class terminal{ public virtual string terminalname{set;get;} } 

i fetch data database in list , giving datagrid itemsource below

<datagrid name="saledatagrid" <datagrid.columns >  <datagridtextcolumn binding="{binding name}" fontsize="12"    canuserresize="false" width="70" header="code"/>   <datagridtextcolumn binding="{binding terminalname}" fontsize="12"   header="desciption" width="120" canuserresize="false"/>   <datagridtextcolumn binding="{binding catename}" fontsize="12"    header="price" width="50" canuserresize="false"/>   <datagridtextcolumn binding="{binding username}" fontsize="12"   canuserresize="false" width="45" header="qty"/> </datagrid.columns> </datagrid> 

so when close connection , when datagrid display time getting lazy exception because session closed. don`t know should do. can 1 please recommend lazy data witth mvvm if session closed. don't want use eager loading solution this.

please let me know need more information.

thanks anchit

for part, have 3 options, , independent orm use, because orms behave similar:

  • let session/context object live long, view model lives;
  • build model ("m" in mvvm) in manner, allows fetch data lazily, when need them (with creation of new session/context object every time). turns off orm's lazy loading, since model managing lazy loading itself;
  • throw away lazy loading , load need view model.

Comments

Popular posts from this blog

powershell Start-Process exit code -1073741502 when used with Credential from a windows service environment -

twig - Using Twigbridge in a Laravel 5.1 Package -

c# - LINQ join Entities from HashSet's, Join vs Dictionary vs HashSet performance -