C# 是否可以在RavenDB中将ExpandooObject存储为不同的类型?
据我所知,ravendb使用对象的CLR类型来确定Raven实体名称元数据。例如,保存类型为Spoon的对象将导致创建一个Spoon文档并将其添加到raven服务器上的Spoon集合中 下面是几个简单的例子来帮助解释我的意思 这将在“ExpandoObjects”集合中存储项目C# 是否可以在RavenDB中将ExpandooObject存储为不同的类型?,c#,ravendb,C#,Ravendb,据我所知,ravendb使用对象的CLR类型来确定Raven实体名称元数据。例如,保存类型为Spoon的对象将导致创建一个Spoon文档并将其添加到raven服务器上的Spoon集合中 下面是几个简单的例子来帮助解释我的意思 这将在“ExpandoObjects”集合中存储项目 dynamic item1 = new ExpandoObject(); item1.Id = "item/100" item1.Cost = "£10"; item1.Color = "Silver"; //othe
dynamic item1 = new ExpandoObject();
item1.Id = "item/100"
item1.Cost = "£10";
item1.Color = "Silver";
//other properties relevant to the item being created
using (var session = this.documentStore.OpenSession())
{
session.Store(item1);
session.SaveChanges();
}
这将在“项目”集合中存储项目:
Item item2 = new Item();
item2.Id = "item/101";
item2.Name = "Postcard";
item2.Cost = "£1";
item2.Material = "Card";
using (var session = this.documentStore.OpenSession())
{
session.Store(item2);
session.SaveChanges();
}
第一个代码块将该项存储为ravendb中的ExpandooObject。但我希望raven将其与我的强类型“items”一起存储为一个项,如第二个代码块所示
是否有办法配置DocumentStore,使其使用Id字段的左侧部分作为Raven实体名称,而不是ExpandoObject CLR类型?或者像这样的事情是不可能的
提前谢谢。可能是《谢谢你》的副本,普雷斯顿,我搜索时没有找到这个问题。它回答了我的问题!:)