Виталий Пухов: Думаю код для поиска в сборке класса с нужным интерфейсом, создание экземпляра этого класса и вызов метода интерфейса добавят в Ваш код гораздо больше "непонятного мусора", если пример из MSDN не устраивает попробуйте этот (www.codeproject.com/Articles/432069/Simple-MEF-App...).
27cm: Если количество связанных сущностей не большое, как вариант писать список связанных id в поле. reference integrity "руками" блюсти придётся, но запросы where id in (....) при небольшом списке тормозить не будут.
Oxoron: Вызов SaveChanges() выполняется в рамках одной транзакции таким образом открываеть, закрывать или откатывать смысла не имеет, а вот например SaveChanges(false) не открывает транзакцию.
Внутренностей NHibernate я не знаю и сказать что происходит не могу. Можно подключить sql profiler и посмотреть, что он шлет.
Если простое обновление/удаление/вставка множества записей не стесняемся использовать SQLCommand (коннект можно получить из контекста или прочитать строку из конфига), для чего то более сложного пишем хранимую процедуру и вызываем её.
Армянское Радио: смотра чему результат присваивать:
ObjectContainer c = ...
Object& q = c.getMeAnyObject(0); при Object& getMeAnyObject(int i) копирования не будет
Oxoron: Да немного времени можно сэкономить т.к. каждый SaveChanges() ищет изменения в контексте. Отмечу, что EF не очень подходит для массовых операций и держать в нем много записей плохо, а при небольшом числе записей время затрачиваемое на поиск изменений очень небольшое.
Михаил: Можно сказать, что EF нужен для REST api или для CRUD, для остального использование хранимых процедур или даже прямых запросов для обновления/удаления/вставки значительного количества данных считаю приемлемым. EF до сих пор не умеет массово обновлять или удалять, а попытка загрузить нужные данные в контекст, их обновление и сохранение это гарантированные тормоза.
.NET бесплатна, средства разработки (IDE) тоже, для удобства можно заплатить за Windows, но можно работать на *nix или даже онлайн. Бесплатные хостинг ASP.NET тоже имеется.
Макс Максимов: В статье про AspNetMembershipProvider != Identity, с остальным согласен, хотя куда же без обновлений. С удовольствием посмотрю/поучаствую в Вашем проекте :)