Я делаю веб-приложение MVC 3 в asp.net.Предполагается, что это маленькое сообщество, где пользователи могут отправлять сообщения друг другу (а затем и определенным группам людей).Так что в моей базе данных есть таблицы Users и Messages.Строка в сообщении (сообщение) содержит отправителя и получателя (внешний ключ таблицы «Пользователи»), а также некоторую другую информацию, такую как заголовок, дата отправки и, конечно, текст сообщения.
Когда пользователь заходит на страницу индекса для зарегистрированных пользователей, я хочу показать все сообщения, которые были отправлены этому пользователю или отправлены этим пользователем.Поэтому при чтении сообщений из таблицы «Сообщения» я хочу использовать параметр, идентификатор зарегистрированного пользователя (к которому я могу получить доступ в моем контроллере).Итак, у меня есть параметр, но я не знаю, как его использовать при получении результатов.Я знаю, что должен быть способ сделать это правильно, вместо того, чтобы класть SQL и запускать соединения прямо в коде безобразным способом.
Как вы, возможно, видите сейчас, все сообщения из таблицы будут извлечены и отправлены в представление для отображения его пользователю.
Строка CommunityEntitiesчасть всей сущности Entity Framework, пока точно не знаю, как это работает, хотя я следовал некоторым учебникам:
( Создание-сущности-framework-data-model-model-for-an-an-asp-net-mvc-application )
( Mvc-music-store-part-1 ).
UserController.cs:
...
CommunityEntities db = new CommunityEntities();
public ActionResult Index()
{
var messages = db.Messages.ToList();
return View(messages);
}
...
CommunityEntities.cs:
public class CommunityEntities : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Message> Messages { get; set; }
}
РЕДАКТИРОВАТЬ: я пробовал эту вещь с db.Database.SqlQuery (...), но этоКазалось, неправильно, видя, как смысл сделать это правильно и "аккуратно".Это для моего образования, и мои учителя будут разборчивы в структуре приложения.