/// <summary> /// 插入一个新的 Tag-FileItem 关系,并返回实体类对象。 /// 若关系已存在,则什么都不做。 /// </summary> /// <returns>关系实体类</returns> public async Task <TagFileRelation> AddRelationAsync(Tag tag, FileItem fileItem) { #if DISPOSE_CONTEXT_IMMEDIATELY using (var context = Context) { #endif var relation = await GetRelationAsync(tag, fileItem); if (relation == null) { relation = new TagFileRelation { TagId = tag.TagId, FileItemId = fileItem.FileItemId, UtcCreateTime = DateTime.UtcNow }; await context.Relations.AddAsync(relation); await context.SaveChangesAsync(); } return(relation); #if DISPOSE_CONTEXT_IMMEDIATELY } #endif }
/// <summary> /// 移除 TagFileRelation 对象。 /// 若关系不存在则什么都不做。 /// </summary> public async Task RemoveRelationAsync(TagFileRelation relation) { #if DISPOSE_CONTEXT_IMMEDIATELY using (var context = Context) { #endif if (await IsRelationExistAsync(relation.Tag, relation.FileItem)) { context.Relations.Remove(relation); await context.SaveChangesAsync(); } #if DISPOSE_CONTEXT_IMMEDIATELY } #endif }