我有兩個類,一個用於User
,另一個用於Warn
,上述用戶可以接收,並且我想映射它們,但我有這是一個問題。實體框架核心:如何映射同一類型的多個對象
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
類:
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; }
}
}
正如你可以看到有這一類User
類型的兩個對象,我想訪問它們從用戶類,如下所示:
foreach(var w in User.Warns)
{
Console.WriteLine(w.Reason);
Console.WriteLine(w.Moderator.Name);
}
等
主持人和用戶是兩個單獨的用戶(即使他們可以是同一個人)。
主持人是發出此警告的人,而用戶是接收警告的用戶。
每個用戶可以有無限數量的警告。
出於某種原因,這不會生成,因爲它無法找到主持人和用戶之間的關係。
請幫忙,謝謝。
您可以顯示實體請映射配置,你可以在閱讀的關係更多的細節? –
@ H.Herzl你的意思是? https://pastebin.com/cDK4Kgxk – bin
你與你的實體沒有關係 –