Domanda

Supponiamo che io abbia una tabella di richiesta, che abbia il seguente aspetto:

RequestId INT  
ReferenceNumber VARCHAR

Ogni richiesta è registrata in una tabella requestlog. Non ci sono chiavi esterne tra le tabelle:

RequestLogId INT  
ReferenceNumber VARCHAR  
Content VARCHAR  

Il log delle richieste contiene il contenuto della richiesta e questo contenuto deve essere conservato per un periodo di tempo. La richiesta può essere eliminata, ma il registro può essere eliminato solo dopo un certo periodo di tempo.

Come posso mappare il mio oggetto richiesta in modo che possa contenere un elenco di log richieste, basato sul numero di riferimento?

Ho provato questo:

Table("InsuranceRequest");  
Id(i => i.Id).Column("InsuranceRequestId");  
Map(i => i.ReferenceNumber);  
HasMany(i => i.InsuranceRequestLog).KeyColumn("RefenceNumber").LazyLoad.Cascade.None();

Tuttavia non funziona. Questa mappatura tenta di mappare il numero di riferimento al RequestLogId di requestlog. Esiste un modo per specificare che la colonna di join deve essere il numero di riferimento insurancerequestlog?

È stato utile?

Soluzione

nulla impedisce ai molti a molti nella struttura della tabella. ti consiglio di cambiare la struttura e renderle chiavi esterne e sono sicuro che la mappatura da molti a molti funzionerà per te se la mappatura non funziona dopo la modifica della struttura.

un altro consiglio per te: prendere un db vuoto e provare a esporre lo schema .. di quello che sarai in grado di vedere quale negligenza pensi che dovrebbe apparire la struttura

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top