Right way to model relationship in Entity Framework Core

asp.net-core asp.net-core-2.0 entity-framework-core


I'm working on an ASP.Net Core MVC 2.0 application using Entity Framework Core 2.0. I need to upload a file related to an entity that is getting created by this application.

For example, imagine having to upload an invoice PDF as part of creating a payment entity. This should be a one-to-one relationship.

I'm having some trouble deciding how this should be represented in the Entity Framework data (and object) model. I found some guidelines that say that the entity foreign key should exist on the dependent object. In this case, the invoice would be the dependent object, so I should add the payment ID to the invoice object.

But I won't be downloading the invoice object as often as I would the payment object. And I was planning on a flow where the payment view would have a link to an action on the invoice controller to download the invoice using the invoice ID. So having the Invoice ID on the Payment object would make sense.

So I'm not sure of the best way to handle this.

As an aside, I've seen plenty of samples with uploading/downloading files, but not many that shows them how this might look when the files are associated with an entity in the database.

Does anyone have any suggestions?

I don't have any code that I can share at the moment; if anyone thinks code might help, I can throw something together.

Thanks in advance!

2/1/2018 4:00:43 PM

Popular Answer

Just wanted to point out that Gert Arnold's comment was the correct answer; the following has examples of how to model one-to-one relationships.


Thanks Gert!

10/18/2017 2:56:00 AM

Related Questions


Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow