I have a Silverlight application with WCF and entity framework.
Is it possible to have one database per user. So when the the user log in, the user will use his own database?
Yes, it's certainly possible.
What you will need is a central database that just holds all the user login details (you could use the standard ASP.NET membership database for this). This would allow the user to gain access to the system.
Then you would need another table to hold the connection details for each user. This will allow them to access their database and no one else's. You create the database connection from this data. This is separate to the login database connection, so use a new connection rather than reusing the existing one.