Heim > Backend-Entwicklung > C++ > Wie kann ich mit Enterprise Library Data Access automatisch C#-Enums aus Datenbanksuchwerten generieren?

Wie kann ich mit Enterprise Library Data Access automatisch C#-Enums aus Datenbanksuchwerten generieren?

Linda Hamilton
Freigeben: 2025-01-12 06:53:47
Original
767 Leute haben es durchsucht

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

Verwendung von C# und dem Enterprise Library Data Access Layer (ELD), um automatisch Aufzählungen für Datenbanksuchwerte zu erstellen

In diesem Artikel wird beschrieben, wie Sie den Enterprise Library Data Access Layer (ELD) nutzen, um automatisch eine Aufzählung aus Werten zu erstellen, die in einer Datenbank-Nachschlagetabelle gespeichert sind.

Dynamische Generierung der Aufzählungsassembly

Erstellen Sie in Ihrer Lösung ein separates Konsolenanwendungsprojekt. Dieses Projekt ist für die Generierung der Aufzählungsassembly verantwortlich. Definieren Sie ein EnumBuilder und verwenden Sie MyDataAdapter und MyDataSet, um Daten aus der Datenbank abzurufen. Erstellen Sie für jede Zeile in der Datenbank ein Aufzählungsliteral, fügen Sie sie zu EnumBuilder hinzu und erstellen Sie schließlich die Aufzählung. Speichern Sie die generierte Baugruppe am gewünschten Ort.

Beispielcode:

<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>
Nach dem Login kopieren

Fügen Sie einen Verweis auf die generierte Assembly hinzu

Referenzieren Sie dynamisch generierte Assemblys in anderen Projekten in der Lösung. Dadurch können Sie in der generierten Assembly definierte Aufzählungen verwenden und die IntelliSense-Funktionalität einbinden.

Post-Build-Ereignisse konfigurieren

Fügen Sie ein Post-Build-Ereignis im EnumeratedTypes-Projekt hinzu. Dieses Ereignis startet das Projekt und generiert nach jedem Build MyEnums.dll-Dateien.

Andere Hinweise

Konfigurieren Sie die Build-Reihenfolge von Projekten so, dass EnumeratedTypes Projekte zuerst erstellt werden. Dadurch werden Abhängigkeitsprobleme im Zusammenhang mit der generierten Assembly vermieden.

Indem Sie diese Schritte befolgen, können Sie automatisch Aufzählungen basierend auf Werten aus einer Datenbank-Nachschlagetabelle erstellen und so sicherstellen, dass Ihre Aufzählungen mit der Datenbank synchron bleiben, ohne dass manuelle Aktualisierungen erforderlich sind.

Das obige ist der detaillierte Inhalt vonWie kann ich mit Enterprise Library Data Access automatisch C#-Enums aus Datenbanksuchwerten generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage