Ayende @ Rahien

My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:


+972 52-548-6969

, @ Q c

Posts: 6,131 | Comments: 45,563

filter by tags archive

ORM += 2

time to read 1 min | 136 words

I am going to give a talk about the high end usages of OR/M and what it can do to an application design.

I have about one hour for this, and plenty topics. I am trying to think about what topics are both interesting and important to be included.

Here are some of the topics that I am thinking about:

  • Partial Domain Models
  • Persistent Specifications
  • Googlize your domain model
  • Integration with IoC containers
  • Taking polymorphism up a notch - adaptive domain models
  • Aspect Orientation
  • Future Queries
  • Scaling up and out
    • Distributed Caching
    • Shards
  • Extending the functionality with listeners
    • Off the side reporting
  • Queries as Business Logic
  • Cross Cutting Query Enhancement
    • Filters
  • Dealing with temporal domains

Anything that you like? Anything that you would like to me to talk about that isn't here?


Benedikt Eckhard

You should make a nice workshop with all these topics - not just an one hour talk :-)

what I would be particularily interested in are "customer specific domain models" as needed in Software as a Service.

Ayende Rahien


I am thinking about doing one, yes.

"customer specific domain models" is what I call adaptive domain models.

Ken Egozi

I am going to give a talk

Where and when?


I'd like to here under high loads how dynamic queries are better than stored procs

It's a good selling point on why to use an ORM - is it better, worse, why, etc...

Markus Zywitza

What does "Googlizing the Domain Model" mean. Never heard that verb before though it obviously means using Google in a some way. But with which intention? Searching best practices according to the domain? Or to the principles behind the modeling with regard to the domain?

Jon Skeet

+1 to Steve's suggestion. One of the biggest criticisms against ORM is usually "stored procs are faster". It would be good to at least tackle that briefly, even if there isn't time for a complete debunking :)

It would also be good to cover issues which ORM tends to raise - where do you tend to have problems?


Ayende Rahien

It means integration with Lucene.NET, so you can run google-style queries against the domain model.

Nothing with Google at all, I am afraid.

Ayende Rahien


Those are interesting topics, but I don't think that they relate to the subject of the talk



Any idea when and where the talk will be given?

Francois Tanguay

Great. Sessions have been posted. Means we'll meet there!

Winston Fassett

In addition to Distributed Caching, I'd like to hear a decent discussion of plain old non-distributed caching of entities, collections, queries, etc, and things like the tradeoff between (a) a single query with lots of outer joins and (b) a simple query that relies on caching but may require several subsequent queries depending on cache misses. It seems to me that many people are unaware of the caching capabilities of ORMs and how to best utilize / optimize them. For my part, I'm currently struggling to decide what to cache and when, and so far I haven't seen a good discussion of it.

If you're going to discuss Lucene, many people are going to wonder why they should use it instead of the built-in full-text search in their DB.


I'm in favor of Queries as Business Logic, but the main stumbling block for me is unit testing them. Do you have pointers to further information on this topic?

Ayende Rahien





As for testing, in memory DB works very well there.

Chris Chew

How about portioning out a single, contiguous domain into small pieces of cross-team ownership? Basically I'm thinking about using inheritance to provide extensibility to higher-level teams across an enterprise-like organization.

Ayende Rahien


Can you give more information about it?

I think that partial domain models covers that, no?

Comment preview

Comments have been closed on this topic.


  1. RavenDB Conference 2016–Slides - 17 hours from now
  2. Proposed solution to the low level interview question - about one day from now

There are posts all the way to Jun 02, 2016


  1. The design of RavenDB 4.0 (14):
    26 May 2016 - The client side
  2. RavenDB 3.5 whirl wind tour (14):
    25 May 2016 - Got anything to declare, ya smuggler?
  3. Tasks for the new comer (2):
    15 Apr 2016 - Quartz.NET with RavenDB
  4. Code through the looking glass (5):
    18 Mar 2016 - And a linear search to rule them
  5. Find the bug (8):
    29 Feb 2016 - When you can't rely on your own identity
View all series



Main feed Feed Stats
Comments feed   Comments Feed Stats