.NET Core использует AppUser как атрибут в другой моделиC#

Место общения программистов C#
Ответить
Anonymous
 .NET Core использует AppUser как атрибут в другой модели

Сообщение Anonymous »

Итак, я пытаюсь связать автора с сообщением. Класс AppUser является наследником IdentityUser. Я пытаюсь указать автора каждого сообщения как пользователя приложения, но у меня возникают некоторые проблемы. В базе данных автор не отображается, вместо него указан AuthorId, почему? Однако кажется, что я могу связаться с пользователем приложения из сообщения, я не получаю никаких ошибок или предупреждений. Но я все еще не могу просмотреть имя автора с помощью сообщения. Может кто-нибудь объяснить, почему?

Модель сообщения

public class Post
{
.....
.....

public AppUser Author { get; set; }

}


Пользователь приложения

public class AppUser : IdentityUser
{
}


Контроллер

[HttpPost]
[ValidateAntiForgeryToken]
public async Task Create(Post post)
{

if (ModelState.IsValid)
{

AppUser appUser = await userManager.GetUserAsync(HttpContext.User);
post.Author = appUser;

string slug = userProject.Name.ToLower().Replace(" ", "-");
post.Slug = slug;

context.Add(post);
await context.SaveChangesAsync();

return RedirectToAction("Index");
}
return View(post);
}


Просмотр

Вот как я пытаюсь напечатать имя автора в представлении, однако пространство остается пустым, я могу показать все остальные атрибуты модели таким же образом.

@Html.DisplayFor(modelItem => item.Author.UserName)

Почему имя пользователя автора не отображается и почему атрибут отображается в поле AuthorId вместо автора?

Спасибо!

Изменить — добавлено действие индекса

public IActionResult Index()
{
var posts= context.Posts;
return View(posts);
}


Подробнее здесь: https://stackoverflow.com/questions/596 ... ther-model
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»