-
Recent Posts
Recent Comments
- dffffff on Bootstrapping The .NET Framework Without An MSI Installer
- alireza94 on How I Work Around The require(“../../../../../../../”) Problem In NodeJS
- Chris on Composite Views: Tree Structures, Tables, And More
- b.tyler.burton on Composite Views: Tree Structures, Tables, And More
- Bran van der Meer on How I Work Around The require(“../../../../../../../”) Problem In NodeJS
Archives
Categories
- .NET
- Accessibility
- Advertising
- Agile
- AJAX
- Albacore
- Analysis and Design
- Analytics
- Android
- AntiPatterns
- API
- AppController
- AppleScript
- Arduino
- Async
- audio
- Austin Code Camp
- AutoMocking
- Backbone
- Backbone.EventBinder
- Backbone.Memento
- Backbone.ModelBinding
- Backbone.Syphon
- Behavior Driven Development
- Books
- Books Reviews
- Bootstrap
- Branch-Per-Feature
- Branching Strategies
- Brownfield
- Build Tools
- Bundler
- Business
- C
- C#
- Capybara
- Certification
- ChaiJS
- Classy Inheritance
- Coaching
- Code Review
- Command Line
- CommonJS
- Community
- Compact Framework
- Composite Apps
- Consulting
- Continuous Improvement
- Continuous Integration
- CQRS
- Craftsmanship
- Cucumber
- Daily Standups
- Data Access
- Database
- Debugging
- Deployment
- Design
- Design Patterns
- DLR
- DNSimple
- Documentation
- DOM
- Domain Driven Design
- DSL
- E-Books
- ECMAScript
- Education
- Ember
- ExpressJS
- FileAPI
- Fluent NHibernate
- FNH.Contrib
- Functional
- Git
- Goals
- Growl
- Hacking
- HAML
- Handlebars
- Hardware
- Haskell
- Heroku
- HTML5
- IronRuby
- Jasmine
- jasmine-async
- Java
- Javascript
- JohnnyFive
- JQuery
- JSFiddle
- JSON
- Kaizen
- Kanban
- KeenIO
- Kendo
- KendoUI
- Knockout
- Lambda Expressions
- Laravel
- Lean Systems
- Linux
- Logs
- LSSC
- LSSC10InfoQ
- MacRuby
- Management
- Marionette
- Math
- Messaging
- Metrics
- Mobile
- MochaJS
- Model-View-Controller
- Model-View-Presenter
- Modules
- Monads
- MongoDB
- Mongoid
- MongooseJS
- Networking
- New Category
- nginx
- NHibernate
- Ninject
- Nodebots
- NodeJS
- NPM
- Open Source
- OSX
- Performance
- Philosophy of Software
- PHP
- Podcast
- Pragmatism
- Presentations
- Principles and Patterns
- Product Reviews
- Productivity
- Promises
- Prototypal Inheritance
- Prototype
- Publishing
- Pusher
- PushState
- Qjs
- Quality
- Rails
- Rake
- Re-Post
- Refactoring
- Reporting
- requirejs
- Resharper
- REST
- Retrospectives
- Reviews
- RhinoMocks
- Risk Management
- RSpec
- RSVPjs
- Ruby
- Runscope
- SASS
- Screencast
- Security
- Selenium
- Semantics
- SEO
- Service
- SignalLeaf
- SignalR
- Sinatra
- SlideChop
- Smoke Test
- Socket.IO
- Source Control
- SSL
- Stack Trace
- Standardized Work
- Stripe
- Subversion
- Technical Debt
- Teensy
- Telerik
- Test Automation
- Testing
- Theory Of Constraints
- Thor
- Throughput
- Tools and Vendors
- Twitter Bootstrap
- Uncategorized
- Underscore
- Unit Testing
- User Experience
- Validation
- Vim
- Visual Studio
- Vlad
- WatchMeCode
- Web
- Web Sockets
- WebRTC
- WinForms
- WinJS
- Workflow
- Xcode
Meta
Category Archives: NHibernate
Missing EF Feature Workarounds: Filters
Filters are one of those ORM features that when you need it, you REALLY need it. NHibernate has had this feature for quite a long time, but it still doesn’t exist in EF. What are filters? In NHibernate, a filter … Continue reading
Also posted in Backbone, Javascript, Marionette, Underscore
20 Comments
Missing NHibernate features in Entity Framework
Recently I blogged about migrating to EF from NHibernate and how easy it is to create fully encapsulated models mapped to EF. In this particular project, migrating was relatively painless, as it was a fairly new schema and quite amenable … Continue reading
Domain modeling with Entity Framework scorecard
A long, long time ago I had a series on strengthening your domain, highlighting how simple refactoring tools and code smells can help guide your models to push behavior down into your core domain model/business objects/whatever. All the techniques highlighted … Continue reading
Migrating from NHibernate to Entity Framework
I’ve been a supporter and user of NHibernate for nearly 10 years. While not part of the original NHibernate Mafia, I’ve long enjoyed NHibernate’s ability to rich, behavioral domain models. I wasn’t happy with the initial designs of Entity Framework, … Continue reading
Also posted in Backbone, Javascript, Marionette, Pusher, SignalR, Socket.IO, Web Sockets
12 Comments
Using AutoMapper to perform LINQ aggregations
In the last post I showed how AutoMapper and its LINQ projection can prevent SELECT N+1 problems and other lazy loading problems. That was pretty cool, but wait, there’s more! What about complex aggregation? LINQ can support all sorts of … Continue reading
Using AutoMapper to prevent SELECT N+1 problems
Back in my post about efficient querying with AutoMapper, LINQ and future queries, one piece I glossed over was how View Models and LINQ projection can prevent SELECT N+1 problems. In the original controller action, I had code like this: … Continue reading
Avoid many-to-many mappings in ORMs
Going through and reviewing the Contoso University codebase, really to get caught up on EF 6 features, I found a relationship between two tables that resulted in a many-to-many mapping. We have these tables: A Course can have many Instructors, … Continue reading
NServiceBus and concurrency
A while back, Andreas posted on NServiceBus sagas and concurrency. In that post, he described both what to consider and how to change the concurrency model of NServiceBus and how it relates to sagas. One thing that comes as a … Continue reading
ORM techniques for legacy databases
One of the reasons folks typically go with a hand-rolled ORM (i.e., using ADO.NET by hand) is the assumption that ORMs don’t work well with legacy databases or databases designed in isolation from any sort of object model used to … Continue reading
Persisting enumeration classes with NHibernate
As part of my “Crafting Wicked Domain Models” talk, I walk through the concept of enumeration classes, yanked from Java and on Jon Skeet’s list of biggest C# mistakes (or missing features). In my talk, I leave out how to … Continue reading