Если вы думаете о переходе с любого традиционного ОРМ. Я настаиваю на том, чтобы вы посмотрели это видео , опубликованное Робом Конери.
И проблема, которую вы проявили в вопросе о доменных объектах, имеющих другую коллекцию доменных объектов в качестве своего свойства. Это не будет проблемой. Просто в этот раз вы ставите ценности этой области, которые вы оспариваете сами.
Как здесь
Class Person
{
public String FirstName{get;set;}
public String LastName {get;set;}
public IEnumarable<Address> {get;set;}
}
Class Address
{
public String Address1 {get;set;}
public String Address2 {get;set;}
}
Dynamic personData = new DynamicModel("connectionString","TableName","PrimaryKey");
var resultPerson = personData.All(where: "where condition")
or
var resultPerson = personData.Query("Join query will be here")
//Map resultPerson with PersonObject and return Person
//Still this will be faster than EF as per benchmark shown on Dapper page
Я надеюсь, что это даст ваш ответ. Если вам нужен рабочий код, пожалуйста, дайте мне знать.