In my domain model I have an Event entity. This means that I have to sometimes declare variables as: @event since event is a reserved key word.
I've read on a few stack overflow posts (like What's the use/meaning of the @ character in variable names in C#?) that this is not recommended unless you're interacting with other programming languages. My question is why is it not recommended? What is the issue with using @?
I could use an "Occasion" entity instead but that would mean in my UI layer I would have events which maps to occasions?
What you're trying to do is the entire purpose of the @ prefix to prevent name clashes.
But this text from MSDN says everything you're asking:
Source
So it just comes down to style, in your case it's the right solution if you don't want to rename your entity.