Enterprise Craftsmanship

  • Blog
  • Book
  • TDD Course
  • Pluralsight Courses
  • About
  • Archives

Tag ORM

September 10, 2018

In Defense of Lazy Loading

In this article, we’ll talk about ORMs and lazy loading.

November 30, 2015

Do you need an ORM?

Do you need an ORM for your project given you use a relational database? And not just some lightweight like Dapper but a big one: NHibernate, Entity Framework, Hibernate? I’d like to address this question with this post.

May 6, 2015

Combining SQL Server and MongoDB using NHibernate

We often think that relational and NoSQL databases are somewhat incompatible. But what if we could use both within a single domain model? I’d like to show how to combine SQL Server and MongoDB together and discuss what benefits we could get from it.

December 6, 2014

Separation of Concerns in ORM

Last week we compared Entity Framework and NHibernate from a DDD perspective. Today, I’d like to dive deeper into what Separation of Concerns (SoC) is and why it is so important. We’ll look at some code examples and features that break the boundaries between the domain and persistence logic. Separation of concerns in ORM There are several concerns we deal with in software development. In most applications, there are at least three of them clearly defined: UI, business logic and database.

1
Vladimir Khorikov
Vladimir Khorikov
Twitter Email LinkedIn
My book
Unit testing book
Click here to get a 40% discount
Pluralsight courses
Pluralsight ‒ Pragmatic Unit Testing
‒ Domain-Driven Design in Practice
‒ Applying Functional Principles in C#
‒ Database Delivery Best Practices
‒ Specification Pattern in C#
‒ Refactoring from Anemic Domain Model
‒ Domain-Driven Design: Working with Legacy Projects
‒ CQRS in Practice
‒ DDD and EF Core: Preserving Encapsulation
‒ Validation and DDD
‒ Encapsulating EF Core Usage
‒ Prepare for coding interviews with CodeStandard
citadel Citadel Password Manager Privacy first. No data collected, period.
Most Popular Articles
‒ EF Core 2.1 vs NHibernate 5.1: DDD perspective
‒ C# and F# approaches to illegal states
‒ Optimistic locking and automatic retry
‒ Entity vs Value Object: the ultimate list of differences
‒ DTO vs Value Object vs POCO
‒ 3 misuses of ?. operator in C# 6
‒ Specification pattern: C# implementation
‒ Database versioning best practices
‒ Unit testing private methods
‒ Functional C#: Handling failures, input errors
‒ REST API response codes: 400 vs 500
MSMVP
Recent Articles
‒ Storing information in its highest form
‒ Which collection interface to use?
‒ Generic types are for arguments, specific types are for return values
‒ Modeling Relationships in a DDD Way
‒ Encapsulating EF Core Usage: New Pluralsight course
‒ Collections and Primitive Obsession
‒ How to Assert Database State?
‒ Should you Abstract the Database?
‒ Database and Always-Valid Domain Model
‒ Specification Pattern vs Always-Valid Domain Model
» All articles
© 2025 Vladimir Khorikov. Made with Hugo.