Ciao a tutti nel mio database sto creando la mia tabella Documenti...
Ora all'inizio avevo abbinato una tabella pagamenti che conterrebbe i pagamenti relativi ai documenti....
poi mi sono accorto che, volendo uno potrebbe decidere di stipulare un contratto...
e successivamente effettuare dei pagamenti su di esso ottenendo le relative ricevute....
che io gestisco in modo simile ad una fattura (ho una ASD... e ai soci si emette fattura e non ricevuta...)
Quindi Un contratto(Tabella Documento) => Tanti pagamenti(Tabella Pagamenti)Ogni singolo pagamento ha una ricevuta(Tabella Documento)
Quindi se ha senso vorrei che la tabella pagamenti contenesse Un campo (DocumentoOrigine) ed uno (Documento di Pagamento)
Domanda n° 1 Ha senso ???
Domanda n° 2 come potrei creare la con EF visto che puntualmente ottengo conflitti??
Il ragionamento è un po' come quello che succede coi DDT dove i DDT hanno un valore...
poi ci sono le fatture di riepilogo e le fatture immediate a se stanti che non hanno nessun DDT...
ma non vedo motivo per creare tabelle diverse...
se sono stato poco chiaro chiedo venia...
(spero di essere nella sezione giusta ero indeciso tra quella .NET e questa ma penso il mio problema sia principalmente a livello progettuale...)
public class Payment
{
[Key]
public int PaymentId { get; set; }
public DateTime Date { get; set; }
public DateTime DateExp { get; set; }
public string Description { get; set; }
public float Amount { get; set; }
//Relazioni
public int CashId { get; set; }
public Cash Cashes { get; set; }
public int? DocumentId { get; set; }
public int? DocumentofPaymentId { get; set; }
}
public class Document
{
[Key]
[Required]
public int DocumentId { get; set; }
public string DocumentNumber { get; set; }
public TypeDocument DocumentType { get; set; }
public DateTime Date { get; set; }
public string Description { get; set; }
//
[Required]
public int PersonId { get; set; }
public Person Person { get; set; }
[Required]
public int AddressId { get; set; }
public Address Address { get; set; }
//
public virtual ICollection<DocRow> BodyRows { get; set; }
public virtual ICollection<Payment> PaymentsToDo { get; set; }
}
}