I'm confused on how to best use this pattern. I have a project that uses Devart's Entity Framework for Oracle. The context is provided by them. So I have an interface
IRepository and a single concrete implementation
OracleRepository that has a private reference to the context.
Now to my question. Do the model class definitions in this case EntityObjects all need to be abstracted out as well? I'm thinking the client class must be able to resolve the return types to access the properties of the
EntityObjects but both contexts would need to have access to the same class definitions. Do I need to make an interface for each object type from the model?
The motivation is to allow different ORM and data storage options in the future.
The example provided here
Course course = unitOfWork.CourseRepository.GetByID(id);
The client must know what
Course is essentially. Should that be