Переключение с NHibernate на Massive или Dapper
Я понимаю основные принципы таких микроормических систем, как массивные и щадящие, но я борюсь с пониманием того, как можно моделировать таблицу с отношениями.
то есть:
Категория 1--- М Продукт
В моих решениях NHibernate или Linq2SQL у Category есть свойство List. Кажется, нет никаких примеров того, как можно моделировать такие отношения. Особенно в linq, где мы могли бы выбрать категорию, в которой есть продукты с конкретными названиями.
2 ответа
Если вы думаете о переходе от любой традиционной ORM. Я настаиваю на том, чтобы вы посмотрели это видео, опубликованное Робом Конери.
И проблема, которую вы проявили в вопросе о доменных объектах, имеющих другую коллекцию доменных объектов в качестве своего свойства. Это не будет проблемой. Просто в этот раз вы ставите ценности этой области, которые вы оспариваете сами.
Как здесь
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
Я надеюсь, что это даст ваш ответ. Если вам нужен рабочий код, пожалуйста, дайте мне знать.
Вы можете использовать "splitOn". См. Пример http://www.tritac.com/bp-24-dapper-net-by-example