代码之家  ›  专栏  ›  技术社区  ›  kovshenin

实体框架:名称冲突(.NET MVC)

  •  1
  • kovshenin  · 技术社区  · 14 年前

    非常抱歉在这里写信,我是一个php的家伙,已经做了大约三天的.NETMVC,虽然我有一些C的经验前一段时间。不管怎样,我正在做一个简单的网站与商店和新闻故事。一个新闻故事可以是全球性的,也可以是与某个商店有关的。我在News表中使用ShopId,它可以是0。

    我试图实现的是获取与任何商店无关的新闻,然后在另一个部分中获取与商店相关的新闻(其中ShopId>0),我希望以一种良好的格式列出它们,例如:shop Name--新闻标题,其中shop Name将指向商店的页面,而news标题将指向新闻页面。

    问题是,商店和新闻都有名为Name和Slug的字段。我仅使用以下代码检索新闻:

    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 回复  |  直到 14 年前
        1
  •  3
  •   Craig Stuntz    14 年前
    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.
            };