J'ai les modèles suivants: Qui a de nombreuses relations.Ajouter une nouvelle entrée Cadre d'entité Mappage de relations plusieurs à plusieurs
public class Product
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required]
[MaxLength(50)]
public string Name { get; set; }
[Required]
public string Code { get; set; }
[MaxLength(1000)]
public string Description { get; set; }
public string ImageUrl { get; set; }
[Required]
public double Price { get; set; }
public decimal Cost { get; set; }
public bool IsActive { get; set; }
public ICollection<ProductCategory> ProductCategories { get; set; }
}
public class ProductCategory
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int? Id { get; set; }
[Required]
[MaxLength(50)]
public string Name { get; set; }
[Required]
public string Code { get; set; }
[MaxLength(1000)]
public string Description { get; set; }
public string CategoryImgeUrl { get; set; }
public ICollection<Product> Products { get; set; }
}
Et je veux ajouter de nouveaux produits avec des catégories existantes, mais quand j'ajouter de nouveaux produits i crée également de nouvelles catégories aussi sans utilisation des ressources existantes.
public void Add(ProductViewModel vm)
{
try
{
if (vm.SelectedCategoryIds.Count() != 0)
{
var catList = new List<ProductCategoryViewModel>();
foreach (var item in vm.SelectedCategoryIds) {
var cat = Context.ProductCategories.Where(c=>c.Id == item).FirstOrDefault();
catList.Add(Mapper.Map<ProductCategoryViewModel>(cat));
}
vm.ProductCategories = catList;
}
var model = Mapper.Map<Product>(vm);
model.CreatedDate = DateTime.Now;
model.IsDeleted = false;
Context.Products.Add(model);
Context.SaveChanges();
}
catch (Exception ex)
{
}
}
Ici, je souhaite ajouter un nouveau produit avec des catégories existantes. Comment puis-je trier cette chose?
Il s'agit d'un problème très courant dont vous devriez pouvoir trouver de nombreuses questions et réponses. –