Здравствуйте, Danchik, Вы писали:
V>>Какая связка бд/ORM самая быстрая для .NET Core по вашим впечатлениям?
D>Linq2db конечно же.
D>https://github.com/linq2db/linq2db
Да, но как при этом будет выглядеть код использующий linq2db? Этот вопрос почему-то считается второстепенным по сравнению с вопросом производительности. Хотя он очень важный.
Если мне не изменяет память там наружу торчат коллекции объектов. Типа Users, Organizations, Networks. Туда нужно добавлять новые объекты, оттуда забирать нужные. Вопрос авторам. Зачем так ограничевать пользователя linq2db? У ORM есть вся необходимая информация чтобы не вытаскивать это наружу. В этом плане NHibernate сделан очень грамотно. В итоге для NHibernate style мы получаем unitOfWork следующего вида:
public class UnitOfWork
{
public void Add(Entity object)...
public Entity Get(int id)
public Save()
public Commit()
}
Который может использоваться разными репозиториями без проблем. UserRepository, OrganizationRepository, NetworkRepository все они принимают в конструкторе unitOfWork. А в случае с linq2db они что принимают? Явная завязка на orm не вариант. Хотелось бы свести ее к минимуму.