Я строю простую социальную сеть, используя ASP.NET MVC, и обнаружил проблему. Я очень новичок в этом, так что это может быть легко исправить, но здесь идет:
Я пытаюсь настроить систему, в которой пользователь (ApplicationUser
) может отправить запрос о дружбе другому пользователю, и я дошел до того, что запросы о дружбе регистрируются в базе данных с отправителем и получателем запрос на добавление в друзья.
Вот модель для запроса друга / друга:
public class Friend
{
public int Id { get; set; }
public ApplicationUser User { get; set; }
public ApplicationUser UserFriend { get; set; }
public DateTime BecameFriends { get; set; }
public bool Status { get; set; }
}
Проблема в том, что я пытаюсь отобразить активные запросы на добавление в друзья для вошедшего в систему пользователя. У меня есть ShowFriendRequest
действие, которое выглядит так:
public ActionResult ShowFriendRequests(string Id)
{
//ADC is the ApplicationDataContext
var result = from f in ADC.Friends select f;
List<Friend> SearchResult = new List<Friend>();
SearchResult = result.Where(x =>
x.UserFriend.Id.Equals(Id)).ToList();
var model = new FriendViewModel
{
FriendList = SearchResult
//this is a List<Friend>
};
return PartialView(model);
}
Итак, проблема в следующем:
В таблице друзей всего 2 запроса на добавление в друзья, но только один предназначен для пользователя, вошедшего в систему. При отладке вышеуказанного действия он фактически обнаруживает, что существует один запрос на добавление в друзья, поскольку счетчик Friendlist
и SearchResults
равен 1.
Хотя, когда я пытаюсь извлечь некоторые значения из model.Friendlist
или SearchResult
либо в виде, либо в контроллере, я могу найти идентификатор и статус, но оба значения User
и UserFriend
равны нулю. Попытка это может выглядеть так:
System.Diagnostics.Debug.WriteLine(SearchResult[0].UserFriend.Id);
Почему ApplicationUser
сущности равны нулю при извлечении одного запроса на добавление в друзья из базы данных?