「Id」列と「RoleName」列を持つ「Roles」というテーブルを持つデータベースがあります。テーブルの行は次のとおりです。
- GUID1管理者
- GUID2システム
- GUID3技術者
- GUID4通常
「ユーザー」テーブルのユーザーは、複数のロールを持つことができます。特定のユーザーが「技術者」の役割を持っているかどうかを確認する LINQ コードが必要です。
これは今のところ私のコードです:
using (MyDbEntities entities = new MyDbEntities())
{
User user = entities.Users.Where(u => u.Id == userIdToFetch).Single();
// Check if user is 'Technician'
if (user.Roles.Any(role => role.Name == "Technician") == true)
{
// user IS technician - do work here
}
}
私の問題は、「Technician」という文字列を自分のコードにハードコーディングしたくないということです。データベース内のロールの名前がいつか「Tech」に変更される可能性があるためです。
「Resources」の使用を検討しましたが、リソース内の文字列を変更するとプロジェクトが再コンパイルされるため、これは良くありません。
この情報を保持するセクションを構成ファイルに追加したくありません。
助言がありますか ?