Я новичок в EF и MVC, поэтому в качестве тренинга я работаю над чем-то вроде "BlogEngine".
Я использую шаблон репозитория и T4 в своем проекте и т. Д. Как обычные методы, которые возвращают один объект или список объекта (List), у меня нет проблем, но мой вопрос в тех случаях, когда я хочу, чтобы мои классы репозитория или уровня сервиса возвращали пользовательские запросы или просмотров (sql).
Давайте представим, что я хочу показать список всех категорий, включая PostCount каждой категории, или список всех сообщений, включая CommentCount и некоторые другие настраиваемые поля. Я не знаю, должен ли я создавать новые классы с этими дополнительными полями или что-то еще (что если у меня много разных представлений в моем проекте, это аккуратно?)
Я сам придумал методы с "динамическими" возвращаемыми значениями.
public dynamic GetAllPostsWithRelatedData()
{
return (from post in (postRepository.GetAll() as ObjectQuery<Post>)
//.Include("Categories").Include("Tags")
select new
{
Categories = post.Categories,
Tags = post.Tags,
CommentsCount = post.Comments.Count,
post.User.UserName,
post.Content,
post.LastModified,
post.Slug,
post.Title
});
}
есть идеи получше?