对于ASP.NET MVC应用程序中的一些简单方案,我正在使用Solr和SolrNet。对于一对一的映射,我将一个POCO映射到一个文档,一切工作都非常顺利。但是,我想知道是否可以映射以下更复杂的方案。本质上,我有一个包含子AuctionItem的Auction类

    public class Auction
    {
      public virtual int ID { get; set; }
      public virtual string Name { get; set; }
      public virtual AuctionItem {get;set;}
      public virtual DateTime StartDate { get; set; }
      public virtual DateTime EndDate { get; set; }
    }


    public class AuctionItem
    {
      public virtual int ID { get; set; }
      public virtual string ItemName{ get; set; }
      public virtual string ItemDescription{ get; set; }
      public virtual Double ItemPrice{get;set;}
    }


显然,我可以在代码中映射带有属性的Auction Item,但是我想知道如何在Solr文档中包括ItemName / ItemDescription / ItemPrice。显然,这里的希望不是使我的对象图变平。有没有办法做到这一点?

最佳答案

当前是open issue(这意味着您有机会实现它!;-)

无论如何,我建议扁平化您的类,这样可以更明确地表明只有一个表。用Solr wiki的话:


  Solr提供了一张桌子。在索引中存储一组数据库表通常需要对某些表进行规范化。避免非正规化的尝试通常会失败。

09-26 08:01