Это гипотетический вопрос, позволяет сказать, у меня есть очень простой форумMVC Entity разделение лучшей практики
У меня есть следующие объекты (объекты)
public class User
{
public Guid Id { get; set;}
public string Username { get; set;}
}
public class Thread
{
public Guid Id { get; set;}
public Guid Owner { get; set;}//UserId
public string Title { get; set; }
public DateTime DateCreated { get; set; }
}
public class Post
{
public Guid Id { get; set; }
public Guid ThreadId { get; set; }
public string Content { get; set; }
public DateTime DatePosted { get; set; }
public Guid PostedBy { get; set; }//UserId
}
У меня есть следующие контроллеры
- UsersController
- ThreadsController
- PostsController
Когда я хочу получить конкретный поток или список потоков, я попал в ThreadsController.
Когда я хочу получать сообщения для конкретного потока, я попал в PostsController
Вопрос:
Если я хочу, чтобы получить список потоков, которые пользователь создал, какой из следующий будет лучший подход:
Создать новый контроллер - UserThreadsController, который возвращает список объектов Thread
Создать дополнительный метод действия на ThreadsController, т.е. GetByUser
Создать дополнительный метод действия на UserController, т.е. GetThreads
Благодарности
Можете ли вы разместить свои модели? У 'Threads' есть свойство внешнего ключа, которое связывается с полем' ID' таблицы 'User'? –
Вопрос не в том, как я могу получить данные, это мне вполне комфортно. Вопрос в том, как структурировать контроллеры? – pieperu