Уточните запрос с помощью проверки на ноль для c, используя , где c! = Null условие.
Следовательно, вы можете переписать это так:
if(DataContext != null && DataContext.tbl_Contents != null)
{
var ien_content = from c in this.DataContext.tbl_Contents
where c!= null && c.ContentTypeID == id
&&
(
IsActive == false?true :(c.Active == null?true:c.Active > 0)
)
orderby c.RegisterDate descending
select c;
}
Если все еще есть исключение, то остается только c.RegisterDate, который может быть нулевым. Поэтому проверьте, не является ли c.Registerdate нулевым для какой-либо из ваших строк.
Попробуйте заменить linq на forloop, чтобы вы могли отлаживать его построчно, что-то вроде этого
List list = new List();
foreach(var c in this.DataContext.tbl_Contents)
{
if(c.ContentTypeID == id && ( IsActive == false?true :(c.Active == null?true:c.Active > 0)))
list.Add(c)
}