using System;
using System.Collections.Generic; использование System.ComponentModel.DataAnnotations;
пространство имен EventsCoreApi.Models.Entities {publi c частичный класс Event {publi c Event () {
EventHasMusicGenre = new HashSet<EventHasMusicGenre>();
}
public uint EventId { get; set; }
public string Name { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
[Timestamp]
public byte[] StartTime { get; set; }
[Timestamp]
public byte[] EndTime { get; set; }
public string Description { get; set; }
public string PolicyMinimumAge { get; set; }
public string PolicyDescription { get; set; }
public uint DressCodeId { get; set; }
public virtual DressCode DressCode { get; set; }
public virtual ICollection<EventHasMusicGenre> EventHasMusicGenre { get; set; }'
[HttpPost]
public async Task<ActionResult<Event>> PostEvent(EventDto eventFromClient)
{
var newEvent = new Event
{
Name = eventFromClient.Name,
StartDate = eventFromClient.StartDate,
EndDate = eventFromClient.EndDate,
StartTime = eventFromClient.StartTime,
EndTime = eventFromClient.StartTime,
Description = eventFromClient.Description,
DressCodeId = eventFromClient.DressCodeId,
PolicyMinimumAge = eventFromClient.PolicyMinimumAge,
PolicyDescription = eventFromClient.PolicyDescription
};
_context.Event.Add(newEvent);
await _context.SaveChangesAsync();
EventHasMusicGenre music1 = new EventHasMusicGenre()
{
EventId = newEvent.EventId,
MusicGenreId = eventFromClient.MusicGenres[0].MusicGenreId
};
EventHasMusicGenre music2 = new EventHasMusicGenre()
{
EventId = newEvent.EventId,
MusicGenreId = eventFromClient.MusicGenres[1].MusicGenreId
};
await _eventHasMusicGenresRepository.PostEventHasMusicGenre(music1);
await _eventHasMusicGenresRepository.PostEventHasMusicGenre(music2);
await _context.SaveChangesAsync();
У меня есть создать объект события, который имеет отношение «многие ко многим», поэтому таблица привязки будет EventHasMusicGenre, у которой есть собственное хранилище и методы, это лучший способ сделать это?