Я считаю, что если свойство Type является новым типом, которого нет в базе данных (т.е. еще не имеет идентификатора), оно будет вставлено и получит новый идентификатор. Если тип был извлечен из базы данных, пользователь будет вставлен и будет использован идентификатор существующего типа.