ここでは、asp.net mvc でモデル構造を作成しました。
public class UserModel
{
public int UserId { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public List<Permission> Permissions { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Permission
{
public int PermissionID { get; set; }
public bool IsPermit { get; set; }
public string Name { get; set; }
}
リストにいくつかのデフォルト値を設定し、リストにユーザーを追加しているときに、ユーザーが割り当てられたページのみにアクセスできるように、UI を介して (アクセス許可のチェックボックスをオンにして) そのユーザーにページのアクセス許可を割り当てます。
public static class Repository
{
public static List<UserModel> GetUsers()
{
List<UserModel> listUsers = new List<UserModel>
{
new UserModel
{
UserId = 1,
UserName = "abc",
Password = "abc",
Permissions = new List<Permission>
{
new Permission
{
PermissionID = 1,
IsPermit = true,
Name = "Page1"
},
new Permission
{
PermissionID = 2,
IsPermit = false,
Name = "Page2"
},
new Permission
{
PermissionID = 3,
IsPermit = false,
Name = "Page3"
},
new Permission
{
PermissionID = 4,
IsPermit = false,
Name = "Page4"
}
},
FirstName = "Rohit",
LastName = "Sharma"
},
new UserModel
{
UserId = 2,
UserName = "xyz",
Password = "xyz",
Permissions = new List<Permission>
{
new Permission
{
PermissionID = 1,
IsPermit = false,
Name = "Page1"
},
new Permission
{
PermissionID = 2,
IsPermit = true,
Name = "Page2"
},
new Permission
{
PermissionID = 3,
IsPermit = true,
Name = "Page3"
},
new Permission
{
PermissionID = 4,
IsPermit = true,
Name = "Page4"
}
},
FirstName = "Rahul",
LastName = "Sharma"
}
};
return listUsers;
}
}
今、私は DbContext クラスの助けを借りてデータベースのコードファーストアプローチを使用して同じことをしたいと思っています. データベース テーブルにページ権限の静的リストがあります (ID =1、名前 = ページ 1、ID = 2、名前 = ページ 2、ID = 3、名前 = ページ 3、ID = 4、名前 = ページ 4)。
データベースのモデル構造を作成中に混乱しています。モデル構造の作成方法とテーブルとの構造のマッピング方法を教えてください。
データベースにデフォルトの行を持つテーブル (権限) があります。
ID Name
1 Page1
2 Page2
3 Page3
4 Page4
ここで、ユーザーを追加するときに、静的チェックボックス (Page1、Page2、Page3、および Page4) を介してそのユーザーにアクセス許可を割り当てます。そのため、ページのリストを含むデータベースに静的テーブルを作成しました。私の User テーブルは最初は空白です。
User
Id int NotNull
UserName nvarchar(100) AllowNull
Password nvarchar(100) AllowNull
FirstName nvarchar(100) AllowNull
LastName nvarchar(100) AllowNull