WPF ve Database ilişkisi nasıl kurulur?

Nulda

Centipat
Katılım
26 Mayıs 2024
Mesajlar
64
Daha fazla  
Sistem Özellikleri
Asus Rog Strix B550-F Gaming Wifi II
AMD Ryzen 9 5900X
Gigabyte Windforce 3060Ti
Corsair Vengeance Rgb Rt 3600Mhz 32GB
Kingston SNV2S1000G
Cinsiyet
Erkek
.Net 8.0 ile WPF projesi geliştireceğim de Database ile ilişkisini kuramadım. İlk defa WPF teknolojisini kullanıyorum biraz farklı web'e göre, araştırdım ama yaptıklarım işe yaramadı, kaynak ya da bilen birisi yardımcı olabilir mi?
 
WPF bir UI Framework'u. Onunla Database'i iliskilendirmiyorsun.

Hangi veri tabani cozumunu kullaniyorsun? MSSQL, MySQL, MongoDB, PostgreSQL, Firebase?

MSSQL

Önceden hiç kullanmadan o yüzden hakim değilim tam masaüstü uygulama için kullanabileceğimi öğrendim biraz daha yeni ve kapsamlı teknoloji olduğu için kullanmak istedim ama veri konusunu çözemedim.
 
Birtane .Net API projesi oluşturuyorsun. ORM seçiyorsun (Genelde EntityFramework), tüm db ihtiyaçlarını buradan hallediyorsun.
UI tarafında ne kullandığın zerre önemli değil. Http request atıyorsun. Dönen json değeri modeline göre mapping ediyorsun.
Db de yine ne kullandığın önemli değil, tüm işi ORM tarafına pasladık. En fazla ContextFactory sınıfını oluşturup db manipülasyonlarını yaparsın.

Uygulama kendi içerisinde veri tutmak istiyorsa yani canlı bir ortama ihtiyaç duymuyorsa o zaman SQLite kullanabilirsin. Yine ORM olarak EntityFramework kullanılabilir.
Önerim, UI ile DB tarafını iç içe geçirme. En azından Library projesi oluştur. Katmanlı mimari olarak aratabilirsin.
Yukarıdakileri ChatGPT yapıştır, anlamadığın yerleri sor. Sana detayın detayına kadar anlatır.
 
MSSQL'e baglanmak icin komutlarini yazacaksin o halde. Bunun icin Microsoft.Data.SqlClient kullanabilirsin. Ornek baglanti acma ve sorgu gonderme yolu surada var;

Sen Azure SQL kullanmiyorsun, o yuzden baglanti stringin farkli olacak.

C#:
var builder = new SqlConnectionStringBuilder
{
    DataSource = "127.0.0.1,1433", // Eger database localde yer aliyorsa ve port numarasi 1433 ise (varsayilan olarak 1433)
    UserID = "<kullanici_adin>",
    Password = "<sifren>",
    InitialCatalog = "<database_adi>"
};

/* Alternatif olarak Windows Authentication kullanabilirsin */

var builder = new SqlConnectionStringBuilder
{
    DataSource = "127.0.0.1,1433", // Eger database localde yer aliyorsa ve port numarasi 1433 ise (varsayilan olarak 1433)
    InitialCatalog = "<database_adi>",
    IntegratedSecurity = true
};

Ancak bu tarz kullanimlari tavsiye etmiyorum. Birincisi direkt database'i cagirdigin bir programi dagitamazsin ne yazik ki. Guvenli degil. Database baglantilari icin API kullan. Sistemi kullanacak kisilerin login yapmasi ve ardindan butun islemlerin API arkasindan gerceklesmesi lazim. Hic bir zaman Database'i dogrudan acma disariya.
 
Teşekkür ederim dediklerinize bakacağım.
 

Technopat Haberler

Geri
Yukarı