Я подумываю использовать мои доменные модели (DDD) в качестве документов в RavenDb. Это плохая идея?
Если нет, я использую классы идентификаторов (например, TodoListId
), которые содержат идентификатор (в случае воронов todolists/3
и т. Д.). Как я могу сказать Raven / JSON.NET использовать их в качестве идентификатора?
public class TodoListId
{
public class TodoListId(string id)
{
//validate the id and set internal var
}
//override ToString to return the id
}
public class TodoList
{
public TodoList(TodoListId id)
{}
public TodoListId Id{get;set;}
public TodoListId Parent {get;set;}
public string SomeBasicProperty {get;set;}
}
Кроме того, когда я использую nhibernate, я обычно устанавливаю все сеттеры на защищенные, чтобы убедиться, что доменные модели используются правильно. Это возможно и с клиентом RavenDb? Или тогда сериализация не будет работать?
todoList.Id.ToString()
вернется todolists/1
.