MVC Core добавить объект в базу данных

171
08 апреля 2019, 08:30

Делаю MVC Core приложение, как орм использую EF Core, у меня есть 2 модели

Модель Game:

public int GameID { get; set; }
public string Name { get; set; }
public string ShortDescription { get; set; }
public decimal Price { get; set; }
public string ImageThumbnail { get; set; }
public int CategoryID { get; set; }
public virtual Category Category { get; set; }

Модель Category:

public int CategoryID { get; set; }
public string CategoryName { get; set; }
public string Description { get; set; }
public List<Game> Games { get; set; }

Проблема в том, что когда я добавляю в бд новою модель игры, и выбираю ту категорию, которая уже существует, название категории, если я ввожу уже существующую в таблице Category то значение в таблице Category дублируется, как этого избежать?

Значения добавляю, например, вот так:

@model Game
<form asp-action="Edit" method="post">
    <input type="hidden" asp-for="GameID" />
    ......
    <div class="form-group">
        <label asp-for="Category.CategoryName"></label>
        <input asp-for="Category.CategoryName" class="form-control" />
    </div>
.......
</form>
Answer 1

Отправляйте во ViewBag

    public IActionResult Create()
    {
        ViewBag.Category = new SelectList(context.Category.ToList(), "Id", "Name");
    ......
    }

Потом указывает этот ViewBag во вьюхе своей

<label asp-for="CategoryId"></label>
<select asp-for="CategoryId" asp-items="ViewBag.Category"></select>
READ ALSO
Что пишут в квадратные скобки?

Что пишут в квадратные скобки?

Очень часто стал замечать такой синтаксис:

175
Разбить число на разряды

Разбить число на разряды

Доброго времени суток!

161
Проблемы с типами данных на хостинге php Laravel

Проблемы с типами данных на хостинге php Laravel

На локале php71, проблема в том, что на хостинге при полечении данных с БД через модели - данные типа integer конвертируются в string(почему-то, хотя...

173
Почему сессия не уничтожается?

Почему сессия не уничтожается?

Пытаюсь понять сессии в phpПрописал в

168