Tür Sağlayıcıları

Bir F# tür sağlayıcısı programınız içinde kullanmanız için türler, özellikler ve yöntemler sağlayan bir bileşendir. Tür sağlayıcıları, F # derleyicisi tarafından oluşturulan ve bir dış veri kaynağını temel alan, sunulan türlerolarak bilinen öğeleri oluşturur.

örneğin, SQL için bir F # tür sağlayıcısı, ilişkisel bir veritabanındaki tabloları ve sütunları temsil eden türler oluşturabilir. Aslında, bu, SqlProvider tür sağlayıcısının yaptığı şeydir.

Sunulan türler, bir tür sağlayıcısına giriş parametrelerine bağımlıdır. Bu giriş bir örnek veri kaynağı (bir JSON şema dosyası gibi), doğrudan bir dış hizmete işaret eden bir URL veya bir veri kaynağına bağlantı dizesi olabilir. Bir tür sağlayıcısı ayrıca tür gruplarının isteğe bağlı olarak genişletildiğinden de emin olabilir; diğer bir deyişle, türlerine gerçekten programınızın başvurduğu durumlarda genişletilir. Bu çevrimiçi veri marketleri gibi büyük ölçekli bilgi uzaylarının doğrudan, istek anında bütünleştirmesini türü kesin belirlenmiş olarak sağlar.

Genel ve silinmiş tür sağlayıcıları

Tür sağlayıcıları iki şekilde gelir: genel ve silinmiş.

Genel tür sağlayıcıları, üretildikleri derlemeye .NET türleri olarak yazılabilen türler üretir. Bu, diğer derlemelerdeki koddan tüketilebilmesi için izin verir. Bu, veri kaynağının türü belirlenmiş gösteriminin genellikle .NET türleriyle temsil edilebilir bir değer olması gerektiği anlamına gelir.

Tür sağlayıcılarının silinmesinin, yalnızca oluşturulduğu derlemede veya projede tüketilebilen türler üretir. Türler kısa ömürlü; diğer bir deyişle, bir derlemeye yazılmazlar ve diğer derlemelerdeki kodla tüketilemez. Bu kişiler gecikmeli Üyeler içerebilir ve bu bilgiler, potansiyel olarak sonsuz bir bilgi alanından sağlanmış türleri kullanmanıza olanak sağlar. Büyük ve bağlanmış bir veri kaynağının küçük bir alt kümesini kullanmak için faydalıdır.

Yaygın olarak kullanılan tür sağlayıcıları

Aşağıdaki yaygın olarak kullanılan kitaplıklar farklı kullanımlar için tür sağlayıcıları içerir:

  • FSharp. Data, JSON, XML, CSV ve HTML belge biçimleri ve kaynakları için tür sağlayıcıları içerir.
  • SqlProvider , bu veri kaynaklarına karşı nesne eşleme ve F # LINQ sorguları aracılığıyla ilişki veritabanlarına kesin olarak belirlenmiş erişim sağlar.
  • FSharp. Data. SqlClient , F # ' de T-SQL için derleme zamanında denetlenmiş ekleme için bir dizi tür sağlayıcı içerir.
  • azure Depolama tür sağlayıcısı , azure blob 'ları, tabloları ve kuyrukları için türler sağlar. bu sayede, kaynak adlarını programınızın tamamında dizeler olarak belirtmeye gerek kalmadan bu kaynaklara erişmenize izin verilir.
  • FSharp. Data. GraphQL , URL ile belirtilen bir graphql sunucusuna dayalı türler sağlayan graphsqlprovider'ı içerir.

Gerektiğinde, kendi özel tür sağlayıcılarınızıveya başkaları tarafından oluşturulan başvuru türü sağlayıcılarını oluşturabilirsiniz. Örneğin, kuruluşunuz her biri kendi kararlı veri şemasına sahip çok ve artan sayıda adlandırılmış veri kümeleri sağlayan bir veri hizmetine sahip olduğunu varsayın. Şemaları okuyan ve en son kullanılabilir veri kümelerini programcıya türü kesin belirlenmiş bir biçimde sunan bir tür sağlayıcısı oluşturmayı seçebilirsiniz.

Ayrıca bkz.