Пользователь модели C #, запросы друзей и друзья с помощью Entity Framework Code

Я ранее задавал вопрос здесь на SO по аналогичной теме, но с тех пор использовал другой подход. Это моя модель:

public class ApplicationUser : IdentityUser<int, CustomUserLogin, CustomUserRole,CustomUserClaim>
{   
    public ApplicationUser()
    {
        Friends = new List<Friend>();
    }

    [Required]
    public string Alias { get; set; }

    public virtual ICollection<Friend> Friends { get; set; }
}

public class Friend
{
    public virtual int Id { get; set; }

    public virtual ApplicationUser RequestedBy { get; set; }

    public virtual ApplicationUser RequestedTo { get; set; }

    public DateTime? RequestTime { get; set; }

    public FriendRequestFlag FriendRequestFlag { get; set; }
}

public enum FriendRequestFlag
{
    None,
    Approved,
    Rejected,
    Blocked,
    Spam
};

Я могу добавить друзей с помощью этого подхода, и они заполняются, когда я получаю их из базы данных, пример:

public void AddFriendRequest(ApplicationUser user, ApplicationUser friendUser)
{
    var friendRequest = new Friend()
    {
        RequestedBy = user,
        RequestedTo = friendUser,
        RequestTime = DateTime.Now,
        FriendRequestFlag = FriendRequestFlag.None
    };

    user.Friends.Add(friendRequest);
}

Когда я запускаю приведенный выше код, таблица друзей в базе данных после выполнения выглядит следующим образом:

Когда я получу пользователя, я бы не хотел, чтобы Entity Framework получал все строки в Friend, если пользователь либоRequestedBy или жеRequestedTo, Можно ли это сделать с EF? Например с Fluent API? Я также хотел бы сопоставить ключи так, чтобы[ApplicationUser_Id] не нужен

Ответы на вопрос(2)

Ваш ответ на вопрос