Я предполагаю, что это должно это исправить.
, поэтому int? - это Обнуляемый тип , вам нужно либо
(1) Определить MailList.mfrom
как int
? ИЛИ
(2) Преобразовать из int?int, например ниже :
var mails = from m in entity.mailboxes
join p in entity.ordinary_user_profile_info on m.from_id equals p.user_id
select new MailList
{
mid = m.m_id,
**mfrom = m.from_id.HasValue ? m.from_id.Value : 0**
//this is saying is, since the int is nullable,
//if it has a value, take it, or return 0
mfomname = p.username,
msubject = m.subject
};
Обновление
После небольшого дополнительного исследования, похоже на @ abatishchev решение с оператором null-coalescing - правильный путь, согласно msdn, и, как @ Konstantin в комментариях, упомянутых Nullable.GetValueOrDefault (T) также правильнее.