W AppConfig można użyć |DataDirectory|
, ale nie mogę znaleźć żadnego dokumentu?ADO.NET | DataDirectory | gdzie jest to udokumentowane?
Odpowiedz
|DataDirectory|
jest łańcuchem zastępującym, dzięki czemu można oddzielnie skonfigurować lokalizację pliku bazy danych.
Więc zamiast:
SqlConnection c = new SqlConnection (
@"Data Source=.\SQLDB; AttachDbFilename=C:\MyDB\Database.mdf;Initial Catalog=Master");
wykonać następujące czynności:
// 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");
Oto niektóre dokumenty (wyszukiwanie DataDirectory): http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx – ironic
i więcej: http://msdn.microsoft.com /en-us/library/cc716756.aspx – ironic
to wydaje się działać również z sqlite: http://sqlite.phxsoftware.com/forums/t/1824.aspx – juFo
Istnieje klasa wewnętrzna zwana SqlConnectionHelper który analizuje to i tworzy MDF w razie potrzeby.
Oto jedyny dokument MS, który mogę znaleźć na temat tej klasy i | DataDirectory | macro: http://msdn.microsoft.com/en-us/library/aa478948.aspx.
W MSDN forów społecznych this Odpowiedź można znaleźć
| DataDirectory | (zawarte w symbolach potoków) jest łańcuchem zastępującym, który wskazuje ścieżkę do bazy danych. Eliminuje to konieczność zakodowania pełnej ścieżki, która prowadzi do kilku problemów, ponieważ pełna ścieżka do bazy danych może być serializowana w różnych miejscach. DataDirectory ułatwia również współdzielenie projektu, a także wdrażanie aplikacji.
Na przykład, zamiast następujące parametry połączenia:
"Data Source= c:\program files\MyApp\Mydb.sdf"
Korzystanie DataDirectory, można mieć następujący ciąg połączenia:
“Data Source = |DataDirectory|\Mydb.sdf”
ustawić właściwość DataDirectory, zadzwoń do AppDomain. Metoda SetData. Jeśli nie ustawić właściwość DataDirectory, następujące zasady domyślne będą stosowane do uzyskania dostępu do folderu bazy danych:
- W przypadku aplikacji, które są umieszczone w folderze na komputerze użytkownika, folder bazy danych korzysta z folderu aplikacji.
- W przypadku aplikacji uruchamianych w ClickOnce folder bazy danych korzysta z określonego folderu danych, który został utworzony.
Gdzie nazwałbyś AppDomain.SetData w projekcie MVC? – alex
http://msdn.microsoft.com/en-us/library/aa478948.aspx
The | DataDirectory | część ciągu połączenia określa, że plik MDF znajduje się w katalogu App_Data.
Niepoprawni goście! The | DataDirectory | odnosi się do katalogu mssql \ data, w którym skonfigurowano twoją instancję.
Na przykład używam programu Visual Studio 2012 w trybie inconjunction z SQL Express. | DataDirectory | umieszcza wszystkie pliki MDF w folderze C: \ Program Files \ Microsoft SQL Server \ MSSQL10_50.SQLEXPRESS \ MSSQL \ DATA, w którym został zainstalowany mój sql express, a nie w folderze app_data rozwiązania.
Plik jest również nazwany MVCMovie.Models.MovieDBContext not Movies.mdf, jak określono w moim pliku web.config.
Myślę, że musi być skonfigurowany gdzieś w visual studio, aby został umieszczony odpowiednio pod app_data.
Może to być przydatne, jeśli korzystasz z pierwszych migracji kodu.
Przy VisualStudio 2013 (przynajmniej) podczas uruchamiania polecenia Update-Database katalog danych jest względny od "projektu startowego" aktualnie skonfigurowanego w visual studio.
Nawet jeśli uruchomisz bazę danych aktualizacji dla innego projektu (wybraną w konsoli menedżera pakietów), utworzysz swoją bazę danych w App_Data aktualnie wybranego projektu startowego.
- 1. Gdzie jest oficjalnie udokumentowane narzędzie chrome.app?
- 2. Gdzie są pola udokumentowane dla pliku unicode.org "UnicodeData.txt"?
- 3. Gdzie są udokumentowane możliwe kontrolki VisualStates dla Windows 8 Metro?
- 4. CUDA cutil.h gdzie to jest?
- 5. Haskell: Lista fuzji, gdzie jest to potrzebne?
- 6. Co to jest klauzula "nago gdzie"
- 7. Asynchroniczny ADO.NET
- 8. Jaki jest cel "listy przodków" w składni pomocniczej klasy? Gdzie jest udokumentowane? Czy są jakieś przykłady użycia?
- 9. Parametry ADO.NET TableAdapter
- 10. Co to jest NSConcreteData i gdzie jest on zdefiniowany?
- 11. 'goto * foo', gdzie foo nie jest wskaźnikiem. Co to jest?
- 12. Czy jest udokumentowane API JavaScript dla programu Windows Media Player?
- 13. C# - Co to są niektóre najlepsze praktyki/Porady dla ADO.NET
- 14. Gdzie ścieżka klasowa i ścieżka są udokumentowane w wersji Ant 1.8.0?
- 15. Entity Framework VS Ado.net
- 16. Prevent ADO.NET z użyciem sp_executesql
- 17. Java - entityExpansionLimit. Gdzie to ustawić?
- 18. ADO.Net DataReader timeout issue
- 19. Co to jest Mutex i semafor wC#? gdzie musimy wdrożyć?
- 20. Co to jest php.ini i gdzie się znajduje w CentOS
- 21. Programowanie do interfejsu. Jak zdecydować, gdzie jest to potrzebne?
- 22. Właśnie zainstalowałem EGit na Eclipse - ale gdzie to jest?
- 23. Jak się nauczyć ADO.NET
- 24. Django A/B Split badania opakowań (Brak Znalazłem są dobrze udokumentowane i up-to-date.)
- 25. Dostawca Sybase ASE ADO.net 2.0?
- 26. Co to jest "Linq to SQL"?
- 27. Co to jest moduł krotki w Erlangu?
- 28. Gdzie jest dokumentowana procedura zamykania Pythona?
- 29. Czy połączenie ADO.NET Entity Framework i ASP.MVC jest błędne?
- 30. TypeScript - ona musi to mieć? (gdzie to == globalny zasięg)
[Ten post] (http://social.msdn.microsoft.com/Forums/en-US/sqlce/thread/dc31ea59-5718-49b6-9f1f-7039da425296) wydaje się wyjaśnić to odpowiednio. –