/// <summary> /// 书籍管理逻辑:新增书籍,同时看是否是新的出版社,如果是,则新增该书的出版社 /// 因仅为Demo程序,为表达<see cref="NKnife.Storages"/>模块的设计与使用,在业务逻辑上并没有进行十分严谨的进行设计。 /// </summary> public async void AddBookAsync(params BookVo[] books) { var pubList = new List <Publisher>(); var bookList = new List <Book>(); foreach (var book in books) { var has = pubList.Find((p) => p.Name == book.Publisher.Name); if (has == null) { var pub = _mapper.Map <Publisher>(book.Publisher); pubList.Add(pub); } else { book.Publisher.Id = has.Id; } bookList.Add(_mapper.Map <Book>(book)); } await _publisherWrite.InsertManyAsync(pubList); Console.WriteLine($"新增出版社,计{pubList.Count}个,成功。"); await _bookWrite.InsertManyAsync(bookList); Console.WriteLine($"新增书籍,计{bookList.Count}本,成功。"); }
public async Task AddPersonAsync(PersonVo[] people) { var pub = _mapper.Map <Person[]>(people); await _personWrite.InsertManyAsync(pub); Console.WriteLine($"新增读者{pub.Length}个,完成。"); }