Понадобилось написать на Nemerle пару Linq запросов к DbSet'ам из Entity Framework'а. И ничего не вышло по следующим причинам: Ef не умеет использоваться конструкторы с параметрами, макрос object initializer не умеет транслироваться в дерево выражений. Это очень глупая, не все же проблема.Я как-нибудь решу этот вопрос, но все же надо что-то решить с поддержкой одного из самых популярных ORM-фреймворков дотнета. Есть идеи как поступить?
Здравствуйте, STDray, Вы писали:
STD>Я как-нибудь решу этот вопрос, но все же надо что-то решить с поддержкой одного из самых популярных ORM-фреймворков дотнета.
Я бы использовал IT-шный Linq2DB. Он и по шустрее, и по гибче, и с немерлом больше тестировался.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
VD>Я бы использовал IT-шный Linq2DB. Он и по шустрее, и по гибче, и с немерлом больше тестировался.
Он и будет основным ORM. Ef я хотел использовать для работы с неприоритетными СУБД, но вышла тыква, как и три предыдущих моих попытки работы с ним. Nemerle даже особой роли не сыграл.
IT>Какими именно? Неужели linq2db поддерживает меньше серверов чем EF?
Я планирую работать с двумя субд: MsSql и PostgreSql. Для них я руками пишу скрипт создания базы, а шаблонами t4 из linq2db генерирую мапинг. Но человек, который помогает мне с версткой не хочет устанавливать ни то, ни другое. Я сделал из своей модельки контекст для Ef и с помощью него автоматически создаю SqlCe4 базу, с которой и идет работа. Сначала я хотел и на нее мапиться через linq2db и использовать Ef только как средство быстрого создания базы, но t4 шаблон для sqlce разваливался. Потому я решил, что раз уж притащил энтити, можно заставить его работать с теми базами, для которых у меня нет реализации на linq2db. А дальше три мой типичный опыт с Ef: три круга ада.