在AppConfig中可以使用|DataDirectory|
但我找不到任何文檔?ADO.NET | DataDirectory |這在哪裏記錄?
回答
|DataDirectory|
是一個替換字符串,因此您可以分別配置數據庫文件的位置。
所以不是:
SqlConnection c = new SqlConnection (
@"Data Source=.\SQLDB; AttachDbFilename=C:\MyDB\Database.mdf;Initial Catalog=Master");
你做到以下幾點:
// Set |DataDirectory| value
AppDomain.CurrentDomain.SetData("DataDirectory", "C:\myDB");
// SQL Connection String with |DataDirectory| substitution string
SqlConnection c = new SqlConnection (
@"Data Source=.\SQLDB; AttachDbFilename=|DataDirectory|\Database.mdf;Initial Catalog=Master");
這是一些文檔(搜索DataDirectory):http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx – ironic 2012-04-02 17:09:21
以及更多:http://msdn.microsoft.com /en-us/library/cc716756.aspx – ironic 2012-04-02 17:11:57
這似乎也適用於sqlite:http://sqlite.phxsoftware.com/forums/t/1824.aspx – juFo 2013-01-21 09:28:25
有一個叫SqlConnectionHelper一個內部類,它解析這一點,如果需要創建MDF。
下面是我可以找到關於該類和| DataDirectory |宏:http://msdn.microsoft.com/en-us/library/aa478948.aspx。
在MSDN社會論壇this答案可以發現
| DataDirectory目錄| (包含在管道符號中)是一個替代字符串,用於指示數據庫的路徑。它消除了對導致幾個問題的完整路徑進行硬編碼的需要,因爲數據庫的完整路徑可以在不同的地方被序列化。 DataDirectory還可以輕鬆共享項目並部署應用程序。
例如,而不是具有下面的連接字符串:
"Data Source= c:\program files\MyApp\Mydb.sdf"
使用DataDirectory目錄,你可以有下面的連接字符串:
「Data Source = |DataDirectory|\Mydb.sdf」
要設置DataDirectory屬性,調用的AppDomain。 SetData方法。如果您沒有設置DataDirectory屬性,下面的默認規則將應用於訪問數據庫文件夾:
- 對於被放在一個文件夾在用戶的計算機上的應用程序,數據庫文件夾使用應用程序文件夾。
- 對於在ClickOnce下運行的應用程序,數據庫文件夾使用創建的特定數據文件夾。
你會在MVC項目中調用AppDomain.SetData? – alex 2015-08-05 14:18:51
http://msdn.microsoft.com/en-us/library/aa478948.aspx
的| DataDirectory目錄|連接字符串的一部分指定MDF文件位於App_Data目錄中。
不正確的傢伙! | DataDirectory |指的是您的實例爲其配置的mssql \ data目錄。
因此,例如,我正在使用Visual Studio 2012與SQL Express不兼容。 | DataDirectory目錄|將所有MDF文件放在C:\ Program Files \ Microsoft SQL Server \ MSSQL10_50.SQLEXPRESS \ MSSQL \ DATA下安裝我的sql express,而不是解決方案app_data文件夾。
此文件名稱MVCMovie.Models.MovieDBContext不是Movies.mdf在我的web.config中指定。
我想它需要在visual studio中的某個地方進行配置,以便將其正確放置在app_data下。
如果您使用代碼優先遷移,這可能是相關的。
使用VisualStudio 2013(至少)運行Update-Database命令時,數據目錄與當前在Visual Studio中配置的「啓動項目」相對。
即使您在另一個項目上運行更新數據庫(在包管理器控制檯上選擇該項目),它也會在當前選定的啓動項目的App_Data上創建數據庫。
- 1. factory_girl記錄在哪裏?
- 2. EXC_BAD_ACCESS在哪裏記錄?
- 3. UIView.init()記錄在哪裏?
- 4. [NSIndexPath行]記錄在哪裏?
- 5. Time.advance在哪裏記錄?
- 6. com.ibm.xsp.component.UIIncludeComposite記錄在哪裏?
- 7. createEnvelopeFromDocument()記錄在哪裏?
- 8. sun.misc.Unsafe記錄在哪裏?
- 9. NSXML記錄在哪裏?
- 10. objc.signature記錄在哪裏?
- 11. groups__name在哪裏記錄?
- 12. 哪裏去記錄錯誤?
- 13. 在Ruby中,「Float(...)」記錄在哪裏?
- 14. ADO.NET記錄導航
- 15. 這個對象是什麼類型的?它在哪裏記錄?
- 16. PHP發佈500錯誤 - 這是在哪裏記錄?
- 17. 如果啓用wmi,WCF會在哪裏記錄這些內容?
- 18. $(<文件)在哪裏記錄?
- 19. JSHint錯誤記錄在哪裏?
- 20. AWS Lambda回調API在哪裏記錄?
- 21. chrome.app在哪裏正式記錄?
- 22. 記錄路徑「file:/// android_asset /」在哪裏?
- 23. mysql返回記錄在哪裏條款
- 24. 有效記錄包含在哪裏
- 25. bitbake python函數在哪裏被記錄
- 26. node-gyp的[選項]在哪裏記錄?
- 27. 我應該在哪裏過濾記錄?
- 28. 「BuildPackage」屬性記錄在哪裏?
- 29. MySQL的POINT()函數記錄在哪裏?
- 30. hadoop CopytoLocal命令在哪裏被記錄?
[本文](http://social.msdn.microsoft.com/Forums/en-US/sqlce/thread/dc31ea59-5718-49b6-9f1f-7039da425296)似乎足以解釋它。 – 2009-09-11 06:54:31