/// <summary> /// Create repository object /// </summary> /// <param name="key">Unique string key</param> /// <param name="data">Serialized data</param> /// <returns>Repository object</returns> public ReposObject Create(string key, string data) { var ro = new ReposObject() { ReposID = 0, Key = key != null ? key : "", Data = data != null ? data : "" }; using (var db = new DaContext(_options)) { db.Repository.Add(ro); db.SaveChanges(); } return(ro); }
/// <summary> /// Сохранить в репозитории string-сериализуемый объект /// </summary> /// <typeparam name="T">Тип объекта</typeparam> /// <param name="obj">Сериализуемый объект</param> /// <param name="key">Ключ. Если с таким ключом объект уже существует, он будет перезаписан новым объектом. Идентификатор записи при этом не измеится.</param> /// <returns>Идентификатор записи (позволяет однозначно идентифицировать запись)</returns> public int PutStrObject <T>(T obj, string key = "") where T : IStrSerializable, new() { ReposObject ro = _reposDA.Select(0, key); string data = obj.Serialize(); if (ro == null) { ro = _reposDA.Create(key, data); } else { ro.Data = data; _reposDA.Update(ro); } return(ro.ReposID); }