저는 이벤트 저장소를 잠깐 보았습니다. 그리고 저를 곤란하게 만들었던 한 가지는 프로젝션 작성을 고려해야 할 때입니다. 평평한 투영법을 만드는 것이 일반적인 관행입니까?EventStore 투영법 사용시기
여기 예를 들어 총
당 스트림을 사용하는 설정은, 내가 같이이 사건이 말할 수 :
public class OrderPlaced
{
public OrderPlaced(string reference, Currency currency, Amount amount)
{
...
}
public string Reference { get; }
public Currency Currency { get; } //Custom type
public Amount Amount { get; } //Custom type
}
public class OrderCompleted
{
public OrderCompleted(string reference)
{
this.Reference = reference;
}
public string Reference { get; }
}
을 나는 다음과 같은 쿼리를 가지고 :
fromCategory('MyCategory')
.whenAny(function(s, e) {
linkTo("Foo", e);
})
위의 내용은별로 효과가 없으며 모든 스트림을 집계합니다. int o 단수. 더 평평한 뷰를 투영 할 수 있습니까? 예를 들어 다음과 같이 입력하십시오. 아마도 나는 내 전선을 가로 지르지 만 분명히 이것을 사용하여 emit
을 얻을 수 있습니까? 나는 집계가 유효한 상태에 따라서 모든 이해 관계자를 위해 나는 단지 이러한 과정이 필요한 필드를 노출한다 보장 할 수 내가 스트림에 기입 한 후
{
string Reference;
string CurrencyCode;
decimal PayingAmount;
}
내 생각이다. 간단한 모델 (비정규 화 된 뷰)을 올바른 것으로 투사하고 있습니까?
위의 예는 간단한 예이지만 좀 더 복잡한 집계를 상상할 수 있습니다.
내가 놓친 것이 있거나 추가 설명이 필요하면 의견을 말하면 추가 할 수 있습니다.
나에게 잘 들립니다. 나는 Projections가 현재 베타 버전에 있다고 생각한다. 4.0.0으로 올 것으로 예상된다. 기존 프로젝션 문서를 읽었습니까? http://docs.geteventstore.com. 내가 작업 한 프로젝트에서 우리는 쿼리하기를 원하는 단순한 상태 (사용자 이름은 고유해야했기 때문에 사용자 집계/스트림에서 사용자 이름 투영을 유지 관리해야 함)가있을 때 기본 제공 투영법을 사용했습니다. – tomliversidge
나는 문서를 읽었으며 최소한 나를 위해 조금 자세가 부족하다. 전체 집계를 가져올 수 있도록 쿼리에 스트림을로드 할 수 있습니까? 이것은 이벤트 2를 얻으면 전체 집계를로드하고 이벤트 1과 2에서 정보를 가져 와서 병합 된보기를 생성합니다. 이것이 가능한가? –
집계를 나타내는 카테고리 (예 : '사용자')를 구독 한 다음 간단한 자바 스크립트 문을 사용하여 각 이벤트 유형으로 수행 할 작업을 결정할 수 있습니다. 이벤트 유형 = eventtype1 {} 등 – tomliversidge