public static void DefineTable <T>(this MobileServiceSqlStore 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.SqlStore_DefineTableTNotAnObject); } if (contract.DefaultCreator == null) { throw new ArgumentException(Properties.Resources.SqlStore_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 MobileServiceSqlStore store) { var settings = new MobileServiceJsonSerializerSettings(); DefineTable <T>(store, settings); }