09 December 2016

LINQ to XML 2

Veritabanında verileri çekip XML dosyasına kaydetme örneğine bakalım. Öncelikle yapmamız degerekn projeye bir adet LINQ to SQL Classes eklemek olacaktır. UrunKategori.dbml dosyasını örneğimizde oluşturduk. Daha sonra server explorer penceresinden veritanabınına bağlanıp Products ve Categories tablolarını oluşturduğumuz .dbml uzantılı dosyanın üzerine sürükleyip bıraktık. Gerekli sınıfların otomatik olarak oluştuğunu ve projeye app.config dosyasının eklenip bağlantının sağlantığını görebiliriz. Geriye sayfamıza .xml dosyasını oluşturmak için gerekli kodları yazmak kalıyor:

UrunKategoriDataContext db = new UrunKategoriDataContext();
 XDocument xdoc = new XDocument(new XDeclaration("1", "utf-8", "yes"),
 new XElement("Products",
 from p in db.Products
 join c in db.Categories
 on p.CategoryID equals c.CategoryID
 select
 new XElement("Product",
 new XAttribute("ProductID", p.ProductID),
 new XElement("ProductName", p.ProductName),
 new XElement("CategoryName", c.CategoryName)
 )
 )
);
 xdoc.Save("UrunKategori.xml");