{"action":"opened","issue":{"url":"https://api.github.com/repos/JasperFx/marten/issues/894","repository_url":"https://api.github.com/repos/JasperFx/marten","labels_url":"https://api.github.com/repos/JasperFx/marten/issues/894/labels{/name}","comments_url":"https://api.github.com/repos/JasperFx/marten/issues/894/comments","events_url":"https://api.github.com/repos/JasperFx/marten/issues/894/events","html_url":"https://github.com/JasperFx/marten/issues/894","id":266054989,"number":894,"title":"Why is ViewProjection.ProjectEvent<> accepting a ProjectionEvent instead of just IEvent?","user":{"login":"adebisi-fa","id":1475313,"avatar_url":"https://avatars0.githubusercontent.com/u/1475313?v=4","gravatar_id":"","url":"https://api.github.com/users/adebisi-fa","html_url":"https://github.com/adebisi-fa","followers_url":"https://api.github.com/users/adebisi-fa/followers","following_url":"https://api.github.com/users/adebisi-fa/following{/other_user}","gists_url":"https://api.github.com/users/adebisi-fa/gists{/gist_id}","starred_url":"https://api.github.com/users/adebisi-fa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adebisi-fa/subscriptions","organizations_url":"https://api.github.com/users/adebisi-fa/orgs","repos_url":"https://api.github.com/users/adebisi-fa/repos","events_url":"https://api.github.com/users/adebisi-fa/events{/privacy}","received_events_url":"https://api.github.com/users/adebisi-fa/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-10-17T09:32:32Z","updated_at":"2017-10-17T09:32:32Z","closed_at":null,"author_association":"NONE","body":"Hello,\r\n\r\nI ran into a use-case where my **ViewProjection** handler requires the **StreamId**/**StreamKey** of an event; unfortunately, those are not available on ProjectionEvent.\r\n\r\nIs there a technical reason why ViewProjection.**ProjectEvent<>** was made to accept a **ProjectionEvent** rather than just vanilla **IEvent** (as implemented in **Event**)?  \r\n\r\nWhy it can't just be:\r\n\r\n```c#\r\nviewProjection.ProjectEvent<Event<CharacterKilled>>(idOrIdsGenerator, projectionMutator);\r\n```\r\ninstead of\r\n```c#\r\nviewProjection.ProjectEvent<ProjectionEvent<CharacterKilled>>(idOrIdsGenerator, projectionMutator);\r\n```\r\n?\r\n\r\nI was able to create a working **ViewProjection.ProjectEvent<>** that's compatible with both **ProjectionEvent** and **IEvent** (so tests won't break). \r\n\r\nCan I send a pull request for this?\r\n\r\nThanks for the awesome work you guys are doing with Marten!  As a developer coming from NEventStore/LiquidProjection playground, Marten saves a whole lot of time and stress, and it's highly maintainable."}}
{"actor":{"display_login":"adebisi-fa"}}