几个星期前,我问乌鸦是否有可能在一个'集合'中有多种类型,我很喜欢它。但现在我开始编写一些索引/查询,并遇到问题..
我没有意识到这意味着所有类型都将被视为同一件事。我认为“集合”只是用于RavenDB Management Studio的字符串。所以......在这种情况下..
class Prototypes : { // ... }
进入具有身份模式的
class Items : { // ... }
使用身份模式项目/#
进入“项目”集合 class Schemas : { // ... }
使用身份模式进入“items”集合 items / ## / schemas / ##
所以,如果我这样做......
var prototypes = RavenSession.Query<Prototype>().ToArray();
我也得到了所有的物品和架构。有没有办法具体说明我想从索引/查询中返回的事物类型?
最初将它们组合成一个系列的愿望仅仅是为了保持整洁,并且没有很多不同的收藏品。我当时没有意识到这种情况会发生,因为我认为类名对查询很重要,而不是集合名称。
答案 0 :(得分:0)
您应该只从该查询中获取Prototype
个项目。为动态查询提供类型时,构建的索引已将结果过滤到该类型。它使用Raven-Entity-Name
元数据进行过滤,这一切都在后台神奇地发生。你不应该考虑太多。
您是否真的从此查询中返回Items
和Schemas
类型?你不应该。
Customer
或BlogPost
。像Prototypes
,Items
,Schemas
这样的课程似乎很奇怪,除非您正在构建非常通用这些与您的域名相关的内容。