Should i have an IUnitOfWork in my Domain Layer?
If your Domain Layer needs it, then the answer is definitely: Yes.
The Domain Layer should contains everything that it needs to work. The only thing you need to keep in mind is that this layer should not reference any external libraries, it should not be tied to any technical specific implementation.
Your IRepository
or IUnitOfWork
's concrete implementations will be somewhere in an Infrastructure/Data Layer where you can reference whatever framework you want (Entity Framework, ...)
Have a look at this SO answer where I explain what need to be located in the Domain Layer (it's an Onion architecture related question but it doesn't matter).
And have a look at this SO answer where you'll find a way to implement UnitOfWork and Repository patterns easily.