Aplicación en capas ASP.Net: comparta el modelo de datos de entidad entre capas

¿Cómo puedo compartir el modelo de datos de entidad autogenerado (clases de objetos generados) entre todas las capas de mi aplicación web C # mientras solo concedo acceso de consulta en la capa de datos? Utiliza el enfoque típico de 3 capas: datos, negocios, presentación.

Mi capa de datos devuelve unIEnumerable<T> a mi capa empresarial, pero no puedo devolver el tipo T a la capa de presentación porque no quiero que la capa de presentación sepa de la existencia de la capa de datos, que es donde el marco de la entidad generó automáticamente mis clases.

Se recomendó tener una capa separada solo con el modelo de datos, pero no estoy seguro de cómo separar el modelo de datos de la funcionalidad de consulta que proporciona el marco de la entidad.

Respuestas a la pregunta(2)

Su respuesta a la pregunta