public static void DefineTable <T>(this MobileServiceSqlCeStore store, MobileServiceJsonSerializerSettings settings)
        {
            string tableName = settings.ContractResolver.ResolveTableName(typeof(T));
            var    contract  = settings.ContractResolver.ResolveContract(typeof(T)) as JsonObjectContract;

            if (contract == null)
            {
                throw new ArgumentException(Properties.Resources.SqlCeStore_DefineTableTNotAnObject);
            }
            if (contract.DefaultCreator == null)
            {
                throw new ArgumentException(Properties.Resources.SqlCeStore_DefineTableEmptyCtorNotDefined);
            }

            // create an empty object
            object theObject = contract.DefaultCreator();

            SetEnumDefault(contract, theObject);

            JObject item = ConvertToJObject(settings, theObject);

            //// set default values so serialized version can be used to infer types
            SetIdDefault <T>(settings, item);
            SetNullDefault(contract, item);

            store.DefineTable(tableName, item);
        }
        public static void DefineTable <T>(this MobileServiceSqlCeStore store)
        {
            var settings = new MobileServiceJsonSerializerSettings();

            DefineTable <T>(store, settings);
        }