protected override IStep GetInsertEntityStep(IWork entity) { var step = new Step("insert into Work (Type, Parent, Artist, Name, Year, Number) values (@Type, @Parent, @Artist, @Name, @Year, @Number); select last_insert_rowid();"); step.AddItem("@Type", (ushort)entity.Type); step.AddItem("@Parent", workCache.GetId(entity.Parent)); step.AddItem("@Artist", artistCache.GetId(entity.Artist)); step.AddItem("@Name", entity.Name); step.AddItem("@Year", entity.Year); step.AddItem("@Number", entity.Number); return(step); }
private void DeleteLink(T entity, ILink link) { var id = cache.GetId(link); if (id == 0) { return; } database.DeleteLink(this, id); cache.Remove(entity, link); }