Ответ 1
В EF4 он используется в основном для возвращаемых значений из хранимых процедур, которые точно не совпадают с существующим объектом в вашей модели. См. Сообщение блога Джулии Лерман Большой шаг для хранимых процедур в EF4 по этой теме.
Если у вас есть сохраненный proc, который возвращается, например. CustomerID, CustomerName и общий объем продаж для этого клиента за последний год, и у вас нет ни одной организации, которая бы соответствовала этим трем полям, вы можете легко создать новый сложный тип в модели сущности "на лету", чтобы зафиксировать эти значения наборы, возвращаемые из сохраненной процедуры.
Это, вероятно, самое полезное и наиболее распространенное использование сложных типов, насколько я могу судить.
Подробнее о сложных типах EF4 см. сообщение блога Джулии Лерман: Сложные типы в EDM Designer в EF4 и посмотрите на обновление сложных типов в коде
ОБНОВЛЕНИЕ: новая команда интересная запись в блоге командой EF4 о том, как "обнюхать сохраненную процедуру возврата" типы "и способы использования автоматических сложных типов для этих типов возврата.