Наследование: BrightstarEntityObject, ITopic
        public void AssertTopic(Uri topicId, string label, string description)
        {
            try {
                var ctx = new EventFeedContext(_connectionString);
                var topic = ctx.Topics.Where(t => t.Id.Equals(topicId)).ToList().FirstOrDefault();

                if (topic != null)
                {
                    // if the topic already exists but we dont have or have different
                    // labels and desc then update them.
                    if (!topic.Label.Equals(label)) topic.Label = label;
                    if (!topic.Description.Equals(description)) topic.Description = description;
                    if (((BrightstarEntityObject)topic).IsModified)
                    {
                        ctx.SaveChanges();
                    }
                }
                else
                {
                    // create a new one
                    var newTopic = new Topic {Id = topicId.ToString(), Description = description, Label = label};
                    ctx.Topics.Add(newTopic);
                    ctx.SaveChanges();
                }
            } catch (Exception ex){
                throw new Exception("Error in AssertTopic", ex);
            }
        }