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