Sto lavorando con Entity Framework Code First.
Ho un Entity chiamato Notes
Ho anche altre entità come BusinessPartners Opportunities WorkOrders
Tutte queste entità possono avere note.
Qual è il modo migliore per modellarlo
1.) nella tabella delle note sono disponibili chiavi esterne opzionali per i partner commerciali, le opportunità e i responsabili del lavoro. Quindi imposta la chiave opzionale a cui è collegata la nota
2.) hanno tabelle intermedie come BusinessPartnerNotes, con due campi BusinessPartnerId e NoteId
Va detto che una nota non sarà mai correlata a due entità allo stesso tempo.
Qualsiasi aiuto o suggerimento sarebbe apprezzato.
Data la tua descrizione delle cardinalità e assumendo che Notes for BusinessPartners abbia lo stesso formato di Notes for Opportunities, sceglierei l'approccio più semplice (opzione 1. nella tua lista).
class Note
{
public int Id { get; set; }
public string Content { get; set; }
}
class BusinessPartner
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Note> Notes { get; set; }
}
class Opportunity
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Note> Notes { get; set; }
}
Quale dovrebbe generare le seguenti tabelle:
Notes
Id
Content
BusinessPartner_Id
Opportunity_Id
BusinessPartners
Id
Name
Opportunities
Id
Name