Entity Framework: столкновения имен (.NET MVC) - PullRequest
1 голос
/ 27 августа 2010

очень жаль, что я пишу здесь, я парень из php, занимаюсь .NET MVC около трех дней, хотя у меня был опыт работы с C # некоторое время назад. В любом случае, я делаю простой сайт с магазинами и новостями. Новость может быть либо глобальной, либо привязанной к какому-то магазину. Я использую ShopId в таблице новостей, которая может быть 0.

Я пытаюсь получить новости, которые не связаны ни с одним магазином, а затем в другом разделе привязать их к магазинам (где ShopId> 0), и я хотел бы перечислить их в хорошем формат, такой как: Название магазина - заголовок новостей, где название магазина ведет на страницу магазина, а заголовок новостей - на страницу новостей.

Проблема в том, что и в Магазине, и в Новостях есть поля с именами и Слагом. Я использую следующий код для получения только новостей:

var news = db.News.Include("User").Where(s => s.ShopId == 0)
  .OrderByDescending(d => d.PublishDate).ToList();

Что, кажется, работает нормально. Мой метод поиска новостей вместе с магазинами в настоящее время следующий:

var shopsNews = db.News.Include("User").Include("Shop").Where(s => s.ShopId > 0)
  .OrderByDescending(d => d.PublishDate).ToList();

Чтобы понять структуру моей базы данных, я разместил ее в Twitpic: http://twitpic.com/2im4xm

Любая помощь будет оценена. Спасибо! ~ K

1 Ответ

3 голосов
/ 27 августа 2010
var q = from n in db.News
        orderby n.PublishDate desc
        select new NewsPresentation // view model class you write
        {
            ShopName = n.ShopId == 0 ? "No shop, sorry!" : n.Shop.Name,
            NewsName = n.Name,
            UserName = n.User.Name,
            // etc.
        };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...