Aplikacja ASP.NET a zewnetrzna baza danych mySql

Aplikacja ASP.NET a zewnetrzna baza danych mySql
Sebastiano
  • Rejestracja:ponad 12 lat
  • Ostatnio:prawie 4 lata
  • Postów:488
0

Proszę o porade w sprawie podejścia do tworzenia aplikacji. Mianowicie całość jest robiona w ASP.NET (jest kilka lokalnych tabel w bazie danych na użytkowników, hasła itp.) i tu nie ma problemu, natomiast sporą ilość danych muszę pobierać z bazy mySql (jest na hostingerze).

Jak aplikacja zostanie dokończona całość zostanie umieszczona na jednym hostingu (łącznie z bazą mySql), pytanie jak sobie radzić przy samym pisaniu aplikacji? Łączyć się z bazą zdalnie? Mogę generować sobie pliki .json z odpowiednimi danymi ale będzie ich całe mnóstwo, więc zakładam że to złe podejście.

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:5 dni
  • Lokalizacja:Wrocław
1

Postawić całą bazę MySQL lokalnie.

Sebastiano
  • Rejestracja:ponad 12 lat
  • Ostatnio:prawie 4 lata
  • Postów:488
0

Czyli może być postawiona przykładowo na WAMPSERVERZE i nie będzie problemów z połączeniem się z tą bazą?

fourfour
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 9 lat
  • Postów:627
1

Jeśli skonfigurujesz odpowiednio, to nie będzie.

Sebastiano
Znasz jakiś lepszy sposób? :)
fourfour
Lepszy niż poprawna konfiguracja? Nie znam. WAMP instaluje Ci po prostu MySQL i inne rzeczy (php, apache), możesz zrobić tak, jak napisał @somekind - postawić SAMĄ bazę lokalnie :)
Sebastiano
nie do końca rozumiem stwierdzenie "lokalnie". W WAMPIE mam ją na localhoscie przecież? Możesz wytumaczyć dokładniej?
fourfour
No tak, czyli masz ją lokalnie. Ale nie tylko bazę, masz także inne dodatki. Tylko o to mi chodziło :)
Sebastiano
  • Rejestracja:ponad 12 lat
  • Ostatnio:prawie 4 lata
  • Postów:488
1

Ok, mam tę bazę postawioną lokalnie na WAMPIE.
Teraz mam pytanie jak najlepiej połączyć się z taką bazą? (nie chce się uczyć złych nawyków).

Znalazłem coś takiego:
http://dev.mysql.com/downloads/connector/net
i do tego:

Kopiuj
<connectionStrings>
<add name="epmsDb" 
  connectionString="Server=localhost;Database=database1;
                     Uid=root;Pwd=mypassword"
  providerName="MySql.Data.MySqlClient" />
</connectionStrings>
edytowany 2x, ostatnio: Sebastiano
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:5 dni
  • Lokalizacja:Wrocław
1

Ale czym się różni połączenie z bazą lokalną od połączenia z bazą zdalną? Chyba tylko adresem serwera i hasłem...

Jeśli pytasz o to, jak pracować z MySQL w kodzie C#, to możesz albo pisać w surowym ADO.NET stosując różnorodne MySqlConnection, MySqlDataReader, MySqlCommand, albo użyć jakiegoś ORMa jak Entity Framework lub NHibernate. Oba potrafią się łączyć z MySQL, no i użycie ORMa jest znacznie wygodniejsze.

Sebastiano
  • Rejestracja:ponad 12 lat
  • Ostatnio:prawie 4 lata
  • Postów:488
1

Właśnie o takie podsumowanie mi chodziło:) Mam jeszcze pytanie: Jak tworze sobie połączanie z tą baza, według wszystkich możliwych tutoriali powinna być możliwość wybrania bazy MySql, natomiast u mnie pod VS 2012 tego nie ma. Jak uzyskać możliwość takiego połaczenia. Screen poniżej:

Edit: już mam plugina. Link: http://dev.mysql.com/downloads/file.php?id=453398. Fajnie łączy z lokalną bazą, mam nadzieje że w dalszym użytkowaniu będzie ok.

edytowany 2x, ostatnio: Sebastiano
szalonyfacet
  • Rejestracja:ponad 12 lat
  • Ostatnio:10 miesięcy
  • Lokalizacja:Dąbrowa Górnicza
0

ale to nie ma znaczenia , gdzie ta baza lezy jesli mowimy o funkcjonalnosci. ona moze byc na karaibach, albo tuz za sciana, lub na lokalnym komputerze. jesli masz serwer mysql u siebie, notabene zaden wamp itp tu potrzebne nie sa tylko sam goly mysql. to an serwerze tez bedziesz mial sewrer mysql. tylko zamiast localhost wpiszesz ip serwera z ktorym sie bedziesz laczyl. ew. zostawiasz localhost bo serwer produkcyjny ma u siebie juz mysql i to tez bedzie lokalna baza danych bo serwer bedzie laczyl z nia sie lokalnie.

Sebastiano
  • Rejestracja:ponad 12 lat
  • Ostatnio:prawie 4 lata
  • Postów:488
0

Dzięki za szczegółowe wytłumaczenie. Mam jeszcze jedno pytanie (może banalne ale wole sie upewnić). Zakładając że korzystam z bazy MySQL i EF. Czy moge tę baze w jakiś sposób przeszukiwać za pomocą zwykłych zapytań SQL czy tylko linq?

edytowany 1x, ostatnio: Sebastiano
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:5 dni
  • Lokalizacja:Wrocław
0

Jest metoda ExecuteStoreQuery czy jakoś tak, która pozwala na użycie SQL.

Sebastiano
  • Rejestracja:ponad 12 lat
  • Ostatnio:prawie 4 lata
  • Postów:488
0

A jak to wygląda w praktyce, w takich przypadkach częściej korzysta się właśnie z tej metody czy linq?

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:5 dni
  • Lokalizacja:Wrocław
1

Gdy stosuje się ORM, to raczej po to, żeby korzystać z obiektów i ich metod, a nie ręcznie pisanego SQL. To ma sens tylko w przypadku rzeczy, z którymi ORM sobie nie radzi, np. hurtowego usuwania rekordów z jakiejś tabeli.

Sebastiano
  • Rejestracja:ponad 12 lat
  • Ostatnio:prawie 4 lata
  • Postów:488
0

Rozumiem, chce zrobić porządnie a więc będę trzymał się konwencji:) Teraz czeka mnie przerobienie całej góry zapytań SQL do linq.

edytowany 1x, ostatnio: Sebastiano

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.