そのようなデータベース内のレコードを更新する関数を作成しました:
Users (UserId, Name)
UsersRoles (UserId, RoleId)
Roles (RoleId, Name)
関数に parameter_user と parameter_role を渡します。それらがそれぞれのテーブルにある場合は、データを更新します。ただし、データを更新するのではなく、毎回配置します。
したがって、UsersRoles テーブルが次のようになっているとします。
10 25
10 23
10 28
11 25
11 32
行10 23を10 27に更新したかったのですが、レコード10 27が追加されましたが、10 23のままです。ダブルFKなので変更できないと思います。しかし、古いレコード 10 23 を削除するにはどうすればよいでしょうか?
関数は次のようになります。
var user = (from r in context.Users where r.UserId.Equals(parameter_user) select r).FirstOrDefault();
Roles role;
if (parameter_role > 0)
{
role = (from r in context.Roles where r.RoleId.Equals(parameter_role) select r).FirstOrDefault();
if (role == null) return false;
if (user != null)
{
role.Users.Add(user);
}
role.Name = "Paul";
}
どうもありがとう さようなら