The the short answer is: mostly you just write code. There are going to be 
more round-trips to the db but not excessively so.  One of my "logical 
stored procedures" might look something like this:

public int CreateSubmittal(string name, string mimeType, int projectId, 
Stream data)
{
 using(var tx = _session.BeginTransaction())
 {
 var project = _session.Get<Project>(projectId);
 var tmpl = GetFolderTemplateFromXml();
 var projectFolder = new Folder();
 projectFolder.Name = project.Name+"_RootFolder";
 projectFolder.Project = project;
 AddSubfoldersRecursive(project, projectFolder, tmpl);
 


 var submittal = new Submittal();
 submittal.Project = project;
 submittal.Blob = _blobStore.Upload(data);
 submittal.MimeType = mimeType;
 var targetFolder = project.FindFolderFor(mimeType);
 submittal.Folder = targetFolder;
 targetFolder.Submittals.Add(submittal);


 _session.Update(project);
 _sesion.Save(submittal);
 _session.Save(projectFolder);
 tx.Commit();
 return submittal.Id;
 
 }
}
private void AddSubfoldersRecursive(Project project, Folder f, List<
FolderTemplate> templates)
{
 foreach(var t in templates)
 {
 var subFolder = new Folder();
 subFolder.Type = t.Type;
 subFolder.CanUpload = t.CanUpload;
 subFolder.Name = t.Name;
 subFolder.Project = project;
 t.Children.Add(subFolder);
 subFolder.Parent = t;
 foreach(var subTemplate in t.Templates)
 {
 AddSubfoldersRecursive(project, subFolder, subTemplate);
 }
 } 
}





On Monday, April 6, 2015 at 7:51:52 PM UTC-4, Juan García Bauzá wrote:
>
> Hi.
> I am developing a web service that is connected with a DB of a functional 
> system. I want stop using stored procedures and begin to use ORM. I believe 
> that there is that make a logic layer for NHibernate. Anyone have an 
> example of NHibernate to bring various data as does a stored procedure?
>
> Regards
>

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/nhusers.
For more options, visit https://groups.google.com/d/optout.

Reply via email to