1
如果我有一個對象身上只穿了私人性質,如如何創建私有/保護性的投影與RavenDb
public class Foo
{
private int Id { get; set; }
private string Bar { get; set; }
private string Baz { get; set; }
}
並將其存儲在烏鴉,它將存儲的性能和一切工作像魔術。如果我想從集合中進行某種只讀查詢,那麼我將如何使用索引來執行此操作? (我實際上對任何解決方案都開放,即使它不使用索引。)
顯然,類似這樣的東西不會因爲私人訪問而工作(並且動態不能在表達式樹中使用):
public class Foo_LineItems : AbstractIndexCreationTask<Foo, FooLineItem>
{
public Foo_LineItems()
{
Map = foos => foos.Where (x => x.Baz == null)
.Select (x => new { x.Id, x.Bar });
}
}
我確定我忽視了一些東西,但一直在網上搜索,找不到任何答案這個具體問題。顯而易見的答案是使用CQRS分離讀取和寫入,而不實際保留原始域對象。 (這只是與掠奪和CQS實驗。)
究竟是什麼。非常感謝你! –