pattern for validating an object against some condition I have an object that's generated from an incoming json string. The string is deserialized in a custom converter that returns an object. This object has a method called IsValidForDB that checks if the properties are valid. This method looks like this:

public class MyObject
{
   public bool IsValidForDB()
   {
      if (this.SomeProperty != SomeCondition)
      {
          return false;
      }

      if (this.SomeOtherProperty != SomeOtherCondition)
      {
          return false;
      }
      ....... several other conditions

      return true;
   }
} 


My question is this: is this pattern a good way of validating an object's properties?
You have two things to consider here:  


the entity shouldn't know anything about any database or repository. I would suggest you rename your method to IsValid(). 
the entity will be manipulated or operated upon by other classes, i.e. view models or controllers, etc. It can be an anti-pattern (or just smelly) to include business rules in the entity when those business rules rightfully belong elsewhere


So, I would suggest that the validation within your object simply evaluates the property values in an immediate way, avoiding any business rules.