views:

425

answers:

4

In AppConfig it is possible to use |DataDirectory| but I can't find any doc ?

+3  A: 
Alex
There is a typo: Its "SetData" instead of "setData"
driAn
+1  A: 

There is an internal class called SqlConnectionHelper which parses this and creates the MDF if needed.

Here's the only MS doc I can find about that class and the |DataDirectory| macro: http://msdn.microsoft.com/en-us/library/aa478948.aspx.

codekaizen
+1  A: 

This post seems to explain it adequately.

Ken Browning
+2  A: 

In the MSDN social forums this answer can be found

|DataDirectory| (enclosed in pipe symbols) is a substitution string that indicates the path to the database. It eliminates the need to hard-code the full path which leads to several problems as the full path to the database could be serialized in different places. DataDirectory also makes it easy to share a project and also to deploy an application.

For example, instead of having the following connection string:

"Data Source= c:\program files\MyApp\Mydb.sdf"

Using DataDirectory, you can have the following connection string:

“Data Source = |DataDirectory|\Mydb.sdf”

To set the DataDirectory property, call the AppDomain.SetData method. If you do not set the DataDirectory property, the following default rules will be applied to access the database folder: • For applications that are put in a folder on the user's computer, the database folder uses the application folder. • For applications that are running under ClickOnce, the database folder uses the specific data folder that is created.

Mahin

related questions