Our client site works through 3 databases, so I do it. In fact, I bring everything into the point of view of one central database, which then connects to the others.
I have never considered this a “normal” behavior. I assume that most of the time you will develop for one system and work against it.
EDIT: Just for development, we use Linq for SQL for our data layer, and we define objects in relation to the database views. Thus, we save reports and application code working with the same data model. There is some additional work on setting up Linq objects, because you need to manually define primary keys and set up associations ... however, so far this has definitely proven to be worthwhile. We tried to do this using the Entity Framework, but I had problems setting up relationships, and I had to give up. The funny thing is that I thought that the Entity Framework should have been designed for more complex scenarios like ours ...
source share