Sto lavorando su un'applicazione Web ASPC di ASP.NET.
Ho le seguenti entità (semplificate):
public class Course
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public User CreatedBy { get; set; }
public EventArea EventArea { get; set; }
}
public class EventArea
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public User CreatedBy { get; set; }
public CoOrdinate CoOrdinate { get; set; }
}
public class CoOrdinate
{
public int Id { get; set; }
public int Latitude { get; set; }
public int Longitude { get; set; }
}
Gli utenti possono registrarsi e creare le proprie entità del corso. Ogni corso ha una posizione geografica, rappresentata da una EventArea che può anche essere creata da un utente.
Poiché EventArea rappresenta una posizione geografica, dovrebbe essere disponibile per l'uso da parte di altri utenti che desiderano creare un corso nella stessa posizione.
Tuttavia, rendere le entità EventArea disponibili per gli utenti diversi dal creatore solleva le seguenti domande:
- Che cosa succede se EventArea viene modificato o eliminato dall'utente di creazione?
- Chi dovrebbe essere in grado di visualizzare / modificare / modificare un'entità EventArea?
Qualche suggerimento alternativo su come affrontare uno scenario in cui un'entità creata da un utente può essere referenziata da un altro utente?