Bagikan melalui


Penyedia Tipe

Penyedia jenis F# adalah komponen yang menyediakan jenis, properti, dan metode untuk digunakan dalam program Anda. Penyedia Jenis menghasilkan apa yang dikenal sebagai Jenis yang Disediakan, yang dihasilkan oleh pengkompilasi F# dan didasarkan pada sumber data eksternal.

Misalnya, Penyedia Jenis F# untuk SQL dapat menghasilkan jenis yang mewakili tabel dan kolom dalam database relasional. Bahkan, inilah yang dilakukan Penyedia Jenis SQLProvider .

Jenis yang Disediakan bergantung pada parameter input ke Penyedia Jenis. Input tersebut dapat menjadi sumber data sampel (seperti file skema JSON), URL yang menunjuk langsung ke layanan eksternal, atau string koneksi ke sumber data. Penyedia Jenis juga dapat memastikan bahwa grup jenis hanya diperluas sesuai permintaan; artinya, mereka diperluas jika jenisnya benar-benar direferensikan oleh program Anda. Ini memungkinkan integrasi langsung dan sesuai permintaan dari ruang informasi skala besar seperti pasar data online dengan cara yang mengutamakan tipe data yang tepat.

Penyedia Tipe Generatif dan Terhapus

Penyedia Tipe hadir dalam dua bentuk: Generatif dan Terhapus.

Penyedia Jenis Generatif menghasilkan jenis yang dapat ditulis sebagai jenis .NET ke dalam rakitan tempat mereka diproduksi. Ini memungkinkan mereka untuk dikonsumsi dari kode di rakitan lain. Ini berarti bahwa representasi bertipe dari sumber data umumnya harus dapat diwakili dengan jenis .NET.

Penyedia Jenis Penghapus menghasilkan jenis yang hanya dapat dikonsumsi dalam rakitan atau proyek dimana mereka dihasilkan. Jenisnya bersifat ephemeral; artinya, mereka tidak ditulis ke dalam rakitan dan tidak dapat dikonsumsi oleh kode di rakitan lain. Mereka dapat berisi anggota yang tertunda , memungkinkan Anda menggunakan jenis yang disediakan dari ruang informasi yang berpotensi tak terbatas. Mereka berguna untuk menggunakan subset kecil dari sumber data besar dan saling terhubung.

Penyedia Tipe yang umum digunakan

Pustaka yang banyak digunakan berikut berisi Penyedia Tipe untuk penggunaan yang berbeda:

  • FSharp.Data mencakup Penyedia Tipe untuk format dan sumber daya dokumen JSON, XML, CSV, dan HTML.
  • SQLProvider menyediakan akses yang diketik dengan ketat ke basis data relasional melalui pemetaan objek dan kueri F# LINQ terhadap sumber data ini.
  • FSharp.Data.SqlClient memiliki sekumpulan penyedia tipe untuk penyematan T-SQL yang diperiksa pada saat kompilasi di F#.
  • Penyedia Jenis Azure Storage menyediakan jenis untuk Azure Blob, Tabel, dan Antrean, memungkinkan Anda mengakses sumber daya ini tanpa perlu menentukan nama sumber daya sebagai string di seluruh program Anda.
  • FSharp.Data.GraphQL berisi GraphQLProvider, yang menyediakan jenis berdasarkan server GraphQL yang ditentukan oleh URL.

Jika perlu, Anda dapat membuat penyedia jenis kustom Anda sendiri, atau penyedia jenis referensi yang telah dibuat oleh orang lain. Misalnya, asumsikan organisasi Anda memiliki layanan data yang menyediakan sejumlah besar himpunan data bernama, masing-masing dengan skema data stabilnya sendiri. Anda dapat memilih untuk membuat penyedia tipe yang membaca skema dan menyajikan himpunan data terbaru yang tersedia kepada programmer dengan tipe yang kuat.

Lihat juga