It can be cumbersome, as you can't share entities between the different code. So you can't save a selfservicing entity with adapter and vice versa.
What you could do is generate also adapter code from the same project, and for fixed parts of the application switch over to adapter, while in other code you keep selfservicing. You've to keep in mind that this might give a lot of headaches if you pass entities around a lot.
If you really must, you can always pass around the raw data of an entity as an array of IEntityFieldCore, see entity.Fields.GetAsEntityFieldCoreArray(), which could help perhaps in situations where you need to pass around field data. the objects still are of their native types, so it will work from selfservicing -> adapter to re-instantiate IEntityFields2 objects, but it won't work the other way around (with the constructor which eats an array of IEntityFieldCore) as you then miss persistenceinfo.
Though if I were you, I'd port one part of hte application at a time.