Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menjana C# Enum secara Automatik daripada Nilai Carian Pangkalan Data Menggunakan Akses Data Perpustakaan Perusahaan?

Bagaimanakah Saya Boleh Menjana C# Enum secara Automatik daripada Nilai Carian Pangkalan Data Menggunakan Akses Data Perpustakaan Perusahaan?

Linda Hamilton
Linda Hamiltonasal
2025-01-12 06:53:47769semak imbas

How Can I Automatically Generate C# Enums from Database Lookup Values Using Enterprise Library Data Access?

Menggunakan C# dan Enterprise Library Data Access Layer (ELD) untuk membuat penghitungan secara automatik untuk nilai carian pangkalan data

Artikel ini menerangkan cara memanfaatkan Lapisan Akses Data Perpustakaan Perusahaan (ELD) untuk membuat penghitungan secara automatik daripada nilai yang disimpan dalam jadual carian pangkalan data.

Penjanaan dinamik himpunan penghitungan

Buat projek aplikasi konsol yang berasingan dalam penyelesaian anda. Projek ini bertanggungjawab untuk menjana himpunan enumerasi. Tentukan EnumBuilder dan gunakan MyDataAdapter dan MyDataSet untuk mendapatkan semula data daripada pangkalan data. Buat literal penghitungan untuk setiap baris dalam pangkalan data, tambahkannya pada EnumBuilder dan akhirnya buat penghitungan. Simpan perhimpunan yang dijana ke lokasi yang dikehendaki.

Kod sampel:

<code class="language-csharp">// 获取当前应用程序域。
AppDomain currentDomain = AppDomain.CurrentDomain;

// 创建一个动态程序集。
AssemblyName name = new AssemblyName("MyEnums");
AssemblyBuilder assemblyBuilder = currentDomain.DefineDynamicAssembly(name,
AssemblyBuilderAccess.RunAndSave);

// 定义一个动态模块。
ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule(name.Name,
name.Name + ".dll");

// 定义一个枚举。
EnumBuilder myEnum = moduleBuilder.DefineEnum("EnumeratedTypes.MyEnum",
TypeAttributes.Public, typeof(int));

// 从数据库获取数据。
MyDataAdapter someAdapter = new MyDataAdapter();
MyDataSet.MyDataTable myData = myDataAdapter.GetMyData();

foreach (MyDataSet.MyDataRow row in myData.Rows)
{
    myEnum.DefineLiteral(row.Name, row.Key);
}

// 创建枚举。
myEnum.CreateType();

// 保存程序集。
assemblyBuilder.Save(name.Name + ".dll");</code>

Tambahkan rujukan pada pemasangan yang dijana

Rujukan pemasangan yang dijana secara dinamik dalam projek lain dalam penyelesaian. Ini akan membolehkan anda menggunakan pengiraan yang ditakrifkan dalam pemasangan yang dijana dan termasuk fungsi IntelliSense.

Konfigurasikan acara pasca binaan

Tambah acara pasca binaan dalam projek EnumeratedTypes. Acara ini akan memulakan projek dan menjana MyEnums.dll fail selepas setiap binaan.

Nota lain

Konfigurasikan susunan binaan projek supaya EnumeratedTypes projek dibina dahulu. Ini akan menghalang sebarang isu pergantungan yang berkaitan dengan pemasangan yang dijana.

Dengan mengikut langkah ini, anda boleh membuat penghitungan secara automatik berdasarkan nilai daripada jadual carian pangkalan data, memastikan penghitungan anda kekal selari dengan pangkalan data tanpa memerlukan kemas kini manual.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana C# Enum secara Automatik daripada Nilai Carian Pangkalan Data Menggunakan Akses Data Perpustakaan Perusahaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn