2010-03-25 7 views
0

J'ai une base de données intégrée dans un projet mvc asp.net. Si j'essaie d'écrire dans le fichier, j'obtiens parfois une exception d'écriture échouée car SQL Server ne peut pas écrire dans le fichier. Comment puis-je vérifier un ObjectContext, s'il est accessible en écriture, sans réellement écrire quelque chose dans la base de données?ADO.net, vérifiez si ObjectContext est accessible en écriture

Répondre

0

Vous pouvez exécuter quelque chose comme ceci directement sur la base de données pour savoir si est en lecture seule ou non:

SELECT DATABASEPROPERTYEX (« DatabaseName », « updateability »)

Pour ce faire, vous feriez utilisation:

  • EF 4.0 =>ObjectContext.ExecuteStoreCommand(..)
  • EF 3,5 =>(ObjectContext.Connection as EntityConnection).StoreConnection as SqlConnection pour se rendre à la base de données sous-jacente de connexion, puis créer un SqlCommand.

Une fois que vous avez compris cela, je serais probablement transformer cela en une méthode d'extension pour que vous puissiez faire quelque chose comme ceci:

if (ctx.ReadOnly()) ... 

Hope this helps

Alex

Questions connexes