Merhaba Arkadaşlar,
Yine çok sıkıldığınız günlerden biri ve siz şöyle bir yarım saatlik kodlama uğraşı arıyorsunuz. Hani yeni birNuGet paketi denesem nasıl olur diyorsunuz belki de. Hatta azcık da zorlayıcı bir paket olsa, yükleyince hemen çalışmasa ama çok da vaktimi almasa derdindesiniz. Bir bakıyorsunuz karşınızda Excel dosyalarında LINQ(Language INtegrated Query) sorguları yazabilmenizi sağlayan LINQtoExcel. Hemen örnek bir Exceldosyası oluşturuyorsunuz belki de.
Ve bu dosya üzerinde basit bir LINQ sorgusu çalıştırmak istiyorsunuz. İlk olarak olayı kavramaya çalışıyorsunuz. Nasıl olabilir diye?
Aslında teori oldukça basit. Eğer LINQ işin içerisindeyse bir Excel dosyasındaki Sheet' ler sanki birer Entitygibi düşünülebilmeli. Hatta bu Sheet' lerin içerisindeki Column' lar, Entity' nin özellikleri(Property) olarak da değerlendirilebilmeli. Yani bir ORM(Object Relational Mapping) mantığı işin içerisinde olmalı. Sadece ilişkisel veri kaynağı bu senaryo için Excel dosyası.
O zaman Players isimli Sheet' de yer alan oyunculardan Mustafar sisteminde olanları bulmak istersek nasıl bir yol izleyebiliriz. Yoksa aşağıdaki fotoğraftaki gibi olabilir mi?
Küçük bir not; Örneği ilk kez denediğinizde büyük ihtimalle "The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine." şeklinde bir hata mesajı alabilirsiniz. Nitekim LINQtoExcel çalışabilmesi için gerekli Access Database Engine' e ihtiyaç duymaktadır. Bu yüzden şu adresteki çözümü uygulayarak sorunu ortadan kaldırmanız gerekebilir.
Bir başka ipucunda görüşmek dileğiyle.