Я пытаюсь получить имя пользователя для владельца сообщения. Вот что я пробовал.ASP.NET MVC получает имя владельца контента пользователя
var model = db.Posts
.OrderByDescending(d => d.PostDate)
.Select(p => new PostViewModel
{
Id = p.Id,
Title = p.Title,
Link = p.Link,
Description = p.Description,
Username = db.UserProfiles.Find(p.UserId).UserName
}).ToList();
Я пытаюсь получить пост из моей модели домена и сохранить ее для просмотра модели, и все работает, за исключением получения имени пользователя по ID автору. Я получаю эту ошибку:
Method 'Project.Models.UserProfile Find(System.Object[])' declared on type 'System.Data.Entity.DbSet`1[Project.Models.UserProfile]' cannot be called with instance of type 'System.Data.Objects.ObjectQuery`1[Project.Models.UserProfile]'
Так как я могу получить имя пользователя автора?
Так что в моей модели Post вместо public int UserId {get; задавать; } У меня должен быть пользователь UserProfile User {get; задавать; }? – user2412672
Если это связано с вашими данными, да. Хотя это не обязательно «вместо», вы можете иметь как свойство UserId (в те моменты, когда вам нужно только свойство UserId и UserProfile для тех времен, когда вы хотите получить весь пользовательский файл. –
Вот как структура сущности генерирует код из диаграммы. :) – user2412672