//[UnitOfWork(IsDisabled = true)] //public int Import(List<Dictionary<string,string>> importData) //{ // int count = 0; // foreach(var row in importData) // { // count += ImportRow(row); // } // return count; //} protected override int ImportRow(Dictionary <string, string> row) { var fmDescription = row["Description"]; var count = Repository.GetAll().AsNoTracking().Where(e => e.Description == fmDescription).Count(); if (count > 0) { return(0); } try { FoodMaterial entity = new FoodMaterial(); var categoryName = row["FoodMaterialCategory"]; FoodMaterialCategory category = InsertOrGetCategory(categoryName); row.Remove("FoodMaterialCategory"); //删除免import出错 entity.Import(row); entity.FoodMaterialCategoryId = category.Id; // 必须用id,不能用 ///entity.FoodMaterialCategory = category; // 必须用id,不能用,否则会插入异常 Repository.Insert(entity); //相关数据会自动添加吗? return(1); } catch (Exception ex) { Logger.Error(ex.Message); return(0); } }
public async Task InsertAsync(ICategory dto) { FoodMaterialCategory entity = new FoodMaterialCategory() { Code = dto.Code, Name = dto.Name }; await _repository.InsertAsync(entity); }
private FoodMaterialCategory InsertOrGetCategory(string categoryName) { var category = _categoryRepository.GetAll().AsNoTracking().Where(c => c.Name == categoryName).FirstOrDefault(); if (category == null) { category = new FoodMaterialCategory() { Name = categoryName }; category.Id = _categoryRepository.InsertAndGetId(category); //似乎必须加上! } return(category); }