C# 및 Enterprise Library Data Access Layer(ELD)를 사용하여 데이터베이스 조회 값에 대한 열거 자동 생성
이 문서에서는 Enterprise Library Data Access Layer(ELD)를 활용하여 데이터베이스 조회 테이블에 저장된 값에서 열거형을 자동으로 생성하는 방법을 설명합니다.
열거 어셈블리의 동적 생성
솔루션 내에 별도의 콘솔 애플리케이션 프로젝트를 만듭니다. 이 프로젝트는 열거형 어셈블리 생성을 담당합니다. EnumBuilder
을 정의하고 MyDataAdapter
및 MyDataSet
을 사용하여 데이터베이스에서 데이터를 검색합니다. 데이터베이스의 각 행에 대해 열거형 리터럴을 생성하고 이를 EnumBuilder
에 추가한 후 마지막으로 열거형을 생성합니다. 생성된 어셈블리를 원하는 위치에 저장합니다.
샘플 코드:
<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>
생성된 어셈블리에 대한 참조 추가
솔루션의 다른 프로젝트에서 동적으로 생성된 어셈블리를 참조하세요. 이렇게 하면 생성된 어셈블리에 정의된 열거형을 사용하고 IntelliSense 기능을 포함할 수 있습니다.
빌드 후 이벤트 구성
EnumeratedTypes
프로젝트에 빌드 후 이벤트를 추가합니다. 이 이벤트는 프로젝트를 시작하고 모든 빌드 후에 MyEnums.dll
파일을 생성합니다.
기타 참고사항
EnumeratedTypes
프로젝트가 먼저 빌드되도록 프로젝트의 빌드 순서를 구성합니다. 이렇게 하면 생성된 어셈블리와 관련된 종속성 문제가 방지됩니다.
이 단계를 수행하면 데이터베이스 조회 테이블의 값을 기반으로 열거형을 자동으로 생성하여 수동으로 업데이트할 필요 없이 열거형이 데이터베이스와 동기화된 상태를 유지할 수 있습니다.
위 내용은 엔터프라이즈 라이브러리 데이터 액세스를 사용하여 데이터베이스 조회 값에서 C# 열거형을 자동으로 생성하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!