• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C# - łączenie ze zdalną bazą danych, Entity Framework

VPS Starter Arubacloud
0 głosów
1,166 wizyt
pytanie zadane 17 grudnia 2016 w C# przez pablocity Początkujący (330 p.)
edycja 17 grudnia 2016 przez pablocity
Witam

Programuję w C# od dłuższego czasu, stwierdziłem więc że kolejnym krokiem będzie nauka pisania aplikacji bazodanowych. Przekopując się przez różne fora dowiedziałem się, że używanie warstw połączeniowych czy bezpołączeniowych ADO.NET zostało wyparte przez Entity Framework.
Znalazłem dobry kurs dotyczący tego frameworka i w sumie wszystko było by ok, gdyby nie fakt, że wszędzie, w każdym tutorialu, poradniku na youtube czy tekstowym niezależnie czy dotyczy on EF albo poprzednich rozwiązań z ADO.NET, przykłady są wykonywane na lokalnych bazach, które są postawione na naszym komputerze - oczywiście to jest dobre rozwiązanie, gdyż do nauki nie potrzebujemy niczego więcej, jednak chciałbym się dowiedzieć jak, po napisaniu takiej aplikacji jestem w stanie użyć tego w realnym życiu.

Podsumowując, chciałbym połączyć się ze zdalną bazą na hostingu, np. ct8. Z tego co wiem to mało firm oferuje połączenia bezpośrednie z uwagi na  całkiem uzasadnione zagrożenie bezpieczeństwa, a o innych sposobach na użycie "prawdziwej" bazy nie mogłem znaleźć kompletnie nic, po za enigmatycznym schematem, z którego nie wiele wyniosłem, może po prostu szukałem złych haseł, gdyż mogę zapewnić że siedziałem nad tym trochę i niestety do niczego konstruktywnego nie doszedłem.
Jeśli chodzi o temat baz danych to jestem nieobeznany więc może w tym co napisałem jest jakiś błąd rzeczowy, ale myślę, że każdy powinien zrozumieć o co mi chodzi.

Z góry dziękuję za odpowiedź
Pozdrawiam

1 odpowiedź

0 głosów
odpowiedź 20 grudnia 2016 przez achilles147 Dyskutant (9,580 p.)

Cześć,

Nie ma dużej różnicy "w kodzie" pomiędzy łączeniem się z bazą lokalną a bazą zdalną. W twojej solucji masz pewnie gdzies plik konfiguracyjny. Zależnie od tego co to za rodzaj aplikacji : webowa/desktopowa ten plik będzie się nazywał pewnie app.config albo też web.config. Plik ten jest prostym xml'em w którym znajdziesz klucz, który powinien się nazywać "connectionString"

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="NazwaModelu" connectionString="data source=NazwaSerweraSql\;initial catalog=NazwaBazy;user id=admin;password=admin;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient"/>
  </connectionStrings>
</configuration>

W tym właśnie miejscu (pomiędzy znakami cudzysłowu "...") w polu connectionString wpisujesz adres do swojej bazy danych. Dla twojej aplikacji jest to więc bez znaczenia  czy jest to lokalna baza czy też baza znajdująca się na jakimś serwerze. Jeżeli wpiszesz w connectionString adres bazy znajdującej się na serwerze, to z tą właśnie bazą będzie się komunikowała twoja aplikacja. O tym jak poprawnie wpisać connectionString warto poczytać w internecie, ponieważ na różnych bazach robi się to inaczej.

komentarz 26 października 2018 przez Marcin Wawrzyniak Nowicjusz (100 p.)

... fajnie tylko:

- co tam należy wpisać jako name ?

- po edycji pliku web.config wg. podanego schematu, czy sama wartość connectionString nie powinna być widoczna globalnie w programie tak abym mógł napisać w pliku MainWindow.xaml.cs:

SqlConnection sqlconnection = new SqlConnection( connectionString );

wywala mi error, że sama nazwa connectionString nie istnieje w bierzącym kontekście indecision

???

Podobne pytania

0 głosów
1 odpowiedź 256 wizyt
0 głosów
0 odpowiedzi 101 wizyt
0 głosów
1 odpowiedź 330 wizyt

92,453 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...