Fakta yang Di ketik
Fakta yang diketik adalah kelas yang mengimplementasikan antarmuka ITypedFact : TypedXmlDocument, DataConnection, TypedDataTable, dan TypedDataRow.
Kelas TypedXmlDocument mewakili jenis dokumen XML dalam Kerangka Kerja Aturan Bisnis. Saat Anda menggunakan simpul dokumen XML sebagai argumen dalam aturan, dua ekspresi JalurX dibuat: pengikatan Pemilih dan Bidang.
Jika simpul tidak memiliki simpul anak, pengikatan Pemilih (juga dikenal sebagai pengikatan XmlDocument) dibuat ke simpul induk simpul dan pengikatan Bidang (juga dikenal sebagai pengikatan XmlDocumentMember) dibuat ke simpul itu sendiri. Pengikatan Bidang ini relatif terhadap pengikatan Pemilih. Jika simpul memiliki simpul anak, pengikatan Pemilih dibuat ke simpul dan tidak ada pengikatan Bidang yang dibuat.
Misalkan Anda memiliki skema berikut.
Case.xsd
Jika simpul Pendapatan dipilih, hanya pengikatan Pemilih yang dibuat, karena simpul memiliki simpul anak. Ekspresi JalurX default di properti Pemilih JalurX dari panel Properti berisi:
/*[local-name()='Root' and namespace-uri()='http://LoansProcessor.Case']/*[local-name()='Income' and namespace-uri()='']
Namun, jika simpul Nama dipilih, pengikatan Pemilih dan pengikatan Bidang dibuat. Informasi pengikatan terlihat seperti.
Properti | Nilai |
---|---|
Bidang JalurX | *[local-name()='Name' dan namespace-uri()=''] |
Pemilih Jalur X | /*[local-name()='Root' dan namespace-uri()='http://LoansProcessor.Case'] |
Anda dapat mengubah ekspresi JalurX default untuk simpul XML sebelum Anda menyeret simpul ke dalam argumen aturan, dan informasi pengikatan baru ditempatkan dalam kebijakan. Namun, perhatikan bahwa setiap pengeditan yang dilakukan pada ekspresi JalurX harus dimasukkan kembali di Komposer Aturan Bisnis saat skema dimuat ulang.
Ketika definisi kosakata dibuat untuk simpul XML, ekspresi JalurX untuk pengikatan memiliki default yang sama berdasarkan aturan yang dijelaskan sebelumnya, tetapi dapat diedit dalam Panduan Definisi Kosakata. Perubahan pada ekspresi ditempatkan dalam definisi kosakata dan tercermin dalam argumen aturan apa pun yang dibangun dari definisi.
DataConnection adalah kelas .NET yang disediakan di pustaka RuleEngine . Ini berisi instans .NET SqlConnection dan nama Himpunan Data . Nama Himpunan Data memungkinkan Anda membuat pengidentifikasi unik untuk SqlConnection dan digunakan dalam menentukan jenis yang dihasilkan.
Kelas DataConnection menyediakan pengoptimalan performa ke mesin Aturan Bisnis. Daripada menegaskan ke dalam mesin tabel database yang sangat besar (kelas TypedDataTable ) yang mungkin berisi banyak baris database (kelas TypedDataRow ) yang tidak relevan dengan kebijakan, Anda dapat menegaskan DataConnection ringan. Saat mesin mengevaluasi kebijakan, mesin secara dinamis membangun kueri SELECT berdasarkan predikat/tindakan aturan dan mengkueri DataConnection saat eksekusi. Misalnya, Anda memiliki aturan berikut:
IF NorthWind.Products.UnitPrice >= 0
THEN <do something>
Kueri SQL berikut dihasilkan oleh dari aturan:
Select * From [Product] Where [UnitPrice] >= 0
Hasil kueri dinyatakan kembali ke mesin sebagai baris data.
Catatan
Penggunaan OleDbConnection dalam DataConnection saat ini tidak didukung.
Saat Anda memilih tabel/kolom database untuk digunakan dalam kondisi aturan atau tindakan, Anda bisa memilih untuk mengikat objek menggunakan DataConnection atau TypedDataTable dengan memilih "Koneksi data" atau "Tabel/baris database" dari kotak drop-down Jenis pengikatan databasedi Jendela Properti untuk tab Database Fact Explorer.
Catatan
Pengikatan DataConnection digunakan secara default.
Anda dapat menegaskan objek ADO.NET DataTable ke dalam mesin, tetapi akan diperlakukan seperti objek .NET lainnya. Dalam kebanyakan kasus, Anda akan ingin menegaskan kelas mesin aturan TypedDataTable.
TypedDataTable adalah kelas pembungkus yang berisi ADO.NET DataTable. Konstruktor hanya mengambil DataTable. Setiap kali kolom tabel atau tabel digunakan sebagai argumen aturan, ekspresi dievaluasi terhadap pembungkus TypedDataRow individual, dan bukan terhadap TypedDataTable.
Ini adalah pembungkus fakta yang diketik untuk objek ADO DataRow . Menyeret tabel atau kolom ke argumen aturan di Komposer Aturan Bisnis menghasilkan aturan yang dibuat terhadap pembungkus TypedDataRow yang dikembalikan.