User
の2つのクラスとそのユーザーが受け取ることができるWarn
の1つをマップしたいと思いますそうする問題。エンティティフレームワークコア:同じ種類の複数のオブジェクトをマップする方法
using System;
using System.Collections.Generic;
using System.Linq;
namespace web
{
public class User
{
public User()
{
}
public ICollection<MuteWarn> Mutes { get; set; }
public ICollection<Warn> Warns { get; set; }
public ICollection<Ban> Bans { get; set; }
public ICollection<Kick> Kicks { get; set; }
public int Id { get; set; }
public ulong DiscordId { get; set; }
public bool AntiBan { get; set; }
public ICollection<string> Permissions { get; set; }
public Level Level { get; set; }
public Mute CurrentMute { get; set; }
public string Name { get; set; }
public int Discrim { get; set; }
public string AvatarUrl { get; set; }
public Guild Guild { get; set; }
public bool HasPermission(string perm)
{
var res = Permissions.Where(x => x == perm);
if(res != null) return true;
return false;
}
}
}
これはUser
クラスであり、ここではWarn
クラスです:あなたがタイプUser
の2つのオブジェクトがこのクラスである見ることができる、と私はそれらにアクセスしたいと
using System;
namespace web
{
public class Warn
{
public Warn()
{
Moderator = DataHelper.GetDefaultModerator();
}
public int Id { get; set; }
public string Reason { get; set; }
public DateTime Timestamp { get; set; }
public User Moderator { get; set; }
public User User { get; set; }
public Guild Guild { get; set; }
}
}
foreach(var w in User.Warns)
{
Console.WriteLine(w.Reason);
Console.WriteLine(w.Moderator.Name);
}
となど
:そのようなUserクラスから司会者とユーザーは2人の別個のユーザーです(ただし、同じ人でも可能です)。
司会者はこの警告を発した人物であり、ユーザーは警告を受け取ったユーザーです。
各ユーザーは、無制限の警告数を持つことができます。
モデレータとユーザーの関係が見つからないため、何らかの理由でこれが構築されません。
助けてください、ありがとうございます。
あなたが読むことができる関係を設定する方法の詳細については
? –
@H.Herzlあなたはこれを意味しますか? https://pastebin.com/cDK4Kgxk – bin
あなたのエンティティとの関係はありません –