Yes, there is no implicit conversion between DBNulland int. But you can use an extension method Fieldthat supports nullable types (better than using System.Object):
IsApproved = r.Field<int?>("IsApproved"),
If you cannot change this property to make it int?, you need to drop intto object:
IsApproved = r.IsNull("IsApproved") ? DBNull.Value : (object)r.Field<int>("IsApproved"),
int 0 , NULL:
IsApproved = r.Field<int?>("IsApproved").GetValueOrDefault(),
IsApproved bool ( ), 1 true:
IsApproved = r.Field<int?>("IsApproved") == 1,