{"id":761,"date":"2010-09-02T08:01:08","date_gmt":"2010-09-02T07:01:08","guid":{"rendered":"http:\/\/blog.eweibel.net\/?p=761"},"modified":"2010-09-05T12:31:49","modified_gmt":"2010-09-05T11:31:49","slug":"nhibernate-presentations-at-dnug-bern","status":"publish","type":"post","link":"https:\/\/blog.eweibel.net\/?p=761","title":{"rendered":"NHibernate presentations at DNUG Bern"},"content":{"rendered":"<p><a href=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/dnugbe.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px\" title=\"dnugbe\" border=\"0\" alt=\"dnugbe\" align=\"right\" src=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/dnugbe_thumb.png\" width=\"255\" height=\"68\" \/><\/a><\/p>\n<p>I hold in August two presentations at the <a href=\"http:\/\/www.dnug-bern.ch\" target=\"_blank\">.Net User Group Bern<\/a> together with <a href=\"http:\/\/www.databinding.net\/\" target=\"_blank\">Ren\u00e9 Leupold<\/a>.&#160; In both presentations the topic was object relational mapping in the .Net world. So we showed Microsoft Entity Framework 4.0 and <a href=\"http:\/\/nhforge.org\/\" target=\"_blank\">NHibernate<\/a>. My part was NHibernate and Rene showed EF.<\/p>\n<p>In the first presentation which was on 16th August 2010, we presented the following stuff:<\/p>\n<ul>\n<li>Introduction into ORM <\/li>\n<li>Theory (<a href=\"http:\/\/en.wikipedia.org\/wiki\/Object-relational_impedance_mismatch\" target=\"_blank\">ORM impedance mismatch<\/a>, persistence ignorance and ORM isn\u2019t a silver bullet) <\/li>\n<li>Approaches how to map entities (top down, middle out, bottom up and meet in the middle) <\/li>\n<li>Introduction into Entity framework (history, vote of no confidence, supported approaches) <\/li>\n<li>Short demo of Entity framework (configuration, hello world sample) <\/li>\n<li>Introduction into NHibernate (history, multiple options to do things, supported approaches) <\/li>\n<li>Short demo of NHibernate (configuration, hello world sample) <\/li>\n<li>Mappings and short demos of them (1:m, m:n, 1:1, self references, 1 class and multiple tables, 1 table and multiple classes, inheritance with TPH, TPT and TPC) <\/li>\n<\/ul>\n<p>You can find the slides <a href=\"http:\/\/www.dnug-bern.ch\/presentations\/20100816\/20100816_dnug-be_ORMPart1.pdf\" target=\"_blank\">here<\/a>.<\/p>\n<p>In the second presentation which was on 23th August 2010, we presented the following topics:<\/p>\n<ul>\n<li>Queries (I showed HQL, Criteria API with QBC and QBE, NativeSQL, Named Queries and QueryOver in NHibernate 3.0) <\/li>\n<li>Lazy and Eager Loading <\/li>\n<li>Debugging and Profiling (also with <a href=\"http:\/\/nhprof.com\/\" target=\"_blank\">NHProf<\/a> from <a href=\"http:\/\/ayende.com\/Blog\/default.aspx\" target=\"_blank\">Ayende<\/a>) <\/li>\n<li>Optimizations <\/li>\n<\/ul>\n<p>We had more stuff for the second session like Concurrency, Auditing, Validation and Caching, but we hadn\u2019t the time to show all these things. You can find the slides from the second session <a href=\"http:\/\/www.dnug-bern.ch\/presentations\/20100823\/20100823_dnug-be_ORMPart2.pdf\" target=\"_blank\">here<\/a>.<\/p>\n<p>The samples of both sessions are also available. If you use them commercially or for other public activities, please mention the authors (NHibernate: Patrick Weibel, EF: Ren\u00e9 Leupold). The samples for NHibernate could be found <a href=\"http:\/\/www.dnug-bern.ch\/presentations\/20100823\/ORMSamples_NH.zip\" target=\"_blank\">here<\/a> and those for EF you find <a href=\"http:\/\/www.dnug-bern.ch\/presentations\/20100823\/ORMSamples_EF4.zip\" target=\"_blank\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I hold in August two presentations at the .Net User Group Bern together with Ren\u00e9 Leupold.&#160; In both presentations the topic was object relational mapping in the .Net world. So we showed Microsoft Entity Framework 4.0 and NHibernate. My part was NHibernate and Rene showed EF. In the first presentation which was on 16th August 2010, we presented the following stuff: Introduction into ORM Theory (ORM impedance mismatch, persistence ignorance and ORM isn\u2019t a silver bullet) Approaches how to map&#8230;<\/p>\n<p class=\"read-more\"><a class=\"btn btn-default\" href=\"https:\/\/blog.eweibel.net\/?p=761\"> Read More<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[13,9],"tags":[],"class_list":["post-761","post","type-post","status-publish","format-standard","hentry","category-net","category-private"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/plOV9-ch","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":797,"url":"https:\/\/blog.eweibel.net\/?p=797","url_meta":{"origin":761,"position":0},"title":"NHibernate day in Bologna","author":"Patrick","date":"25. Oct 2010","format":false,"excerpt":"During a whole day several speakers spoke about NHibernate and related topics. This conference was in Bologna and was very well prepared and organized. You could watch the slides and the videos of the sessions here. I joined the following sessions: Keynote Simone Chiaretta opened the conference and showed during\u2026","rel":"","context":"In &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/blog.eweibel.net\/?cat=13"},"img":{"alt_text":"NHDay_3","src":"https:\/\/i0.wp.com\/blog.eweibel.net\/wp-content\/uploads\/NHDay_3_thumb.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":745,"url":"https:\/\/blog.eweibel.net\/?p=745","url_meta":{"origin":761,"position":1},"title":"ConfORM &ndash; Another NHibernate mapping possibility","author":"Patrick","date":"1. Sep 2010","format":false,"excerpt":"I recently hold two presentations at the .Net User Group Bern (DNUG) with Ren\u00e9 Leupold about object relational mapping in the .Net world. We showed Entity Framework 4.0 and NHibernate. My part was NHibernate. You could download the slides and samples from the DNUG website. In the two presentations I\u2026","rel":"","context":"In &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/blog.eweibel.net\/?cat=13"},"img":{"alt_text":"ConfOrmBigTransparent","src":"https:\/\/i0.wp.com\/blog.eweibel.net\/wp-content\/uploads\/ConfOrmBigTransparent_thumb.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":377,"url":"https:\/\/blog.eweibel.net\/?p=377","url_meta":{"origin":761,"position":2},"title":"NHibernate mapping possibilities","author":"Patrick","date":"24. Aug 2009","format":false,"excerpt":"I prepare currently a new talk about NHibernate. In this talk I'll show the different mapping possibilities with NHibernate. To demonstrate the three possibilities (and a fourth one) I chose a quite simple model: I implement three classes Cat, Dog and Bird an for each one I chose a different\u2026","rel":"","context":"In &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/blog.eweibel.net\/?cat=13"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":600,"url":"https:\/\/blog.eweibel.net\/?p=600","url_meta":{"origin":761,"position":3},"title":"First developer meeting in Bern","author":"Patrick","date":"21. Jan 2010","format":false,"excerpt":"Today at the Fachhochschule happened the first developer meeting in Bern. The first tasks were the presentation of each participant and to collect the interests to discuss. After that Florian Kammermann presented his thoughts about software development. He\u2019s highly interested in business oriented software developing. That means for him, that\u2026","rel":"","context":"In &quot;Private&quot;","block_context":{"text":"Private","link":"https:\/\/blog.eweibel.net\/?cat=9"},"img":{"alt_text":"entwicklertreffen","src":"https:\/\/i0.wp.com\/blog.eweibel.net\/wp-content\/uploads\/entwicklertreffen_thumb.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1121,"url":"https:\/\/blog.eweibel.net\/?p=1121","url_meta":{"origin":761,"position":4},"title":"Speaking at the .NET Usergroup Bern","author":"Patrick","date":"4. Dec 2011","format":false,"excerpt":"During a Lunch event organized by the .NET Usergroup Bern at the 7 December 2011 in Bern I will speak about the following question: Is Software design overrated? Yes, I know, it's provocative. And obviously wrong. Really? I'm not so sure. After 10 years as software engineer and some years\u2026","rel":"","context":"In &quot;Design patterns&quot;","block_context":{"text":"Design patterns","link":"https:\/\/blog.eweibel.net\/?cat=3"},"img":{"alt_text":"image","src":"https:\/\/i0.wp.com\/blog.eweibel.net\/wp-content\/uploads\/image_thumb18.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":160,"url":"https:\/\/blog.eweibel.net\/?p=160","url_meta":{"origin":761,"position":5},"title":"When to use stored procedures","author":"Patrick","date":"13. May 2009","format":false,"excerpt":"Recently I discussed with a colleague when to use stored procedures. As exptected it was quite a religious conversation. A few days later I found the following screencast: The Pros and Cons of Stored Procedures Based on the discussion and the screencast I tried to summarize my Pros and Cons:\u2026","rel":"","context":"In &quot;Good practices&quot;","block_context":{"text":"Good practices","link":"https:\/\/blog.eweibel.net\/?cat=5"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=\/wp\/v2\/posts\/761","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=761"}],"version-history":[{"count":4,"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=\/wp\/v2\/posts\/761\/revisions"}],"predecessor-version":[{"id":766,"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=\/wp\/v2\/posts\/761\/revisions\/766"}],"wp:attachment":[{"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=761"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=761"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=761"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}