В SaveChanges я получаю исключение NullReferenceException.
Это мой DropDownList на мой взгляд:
@Html.DropDownList ("MaterialCategory.Id", Model.Categorieën)
Выбранное значение вставляется в:
MaterialDetail.MaterialCategory.Id, но все остальные значения не вставляются (например, имя и описание категории).
[HttpPost]
public ActionResult Create(db.MaterialDetail materiaal_detail)
{
try
{
// TryUpdateModel<db.MaterialDetail>(materiaal_detail); ???
materiaal_detail.Id = Guid.NewGuid();
_db.SaveChanges();
return RedirectToAction("Index");
}
catch
{
return View();
}
}
Короче говоря, я получаю выбранный идентификатор, но не могу сохранить его в базе данных.
Проблема должна быть где-то в сущностях.
MaterialDetail => ОК
MaterialCategory, имеет идентификатор, и я подумал, что когда я сохраню его, он только вставит соответствующий GUID в MaterialDetail.CategoryId. Но этого не происходит.
А это мой Create (View)
<fieldset>
<legend>MaterialDetail</legend>
<div class="editor-label">
Category
</div>
<div class="editor-field">
@Html.DropDownList("MaterialCategory.Id", Model.Categorieën)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Materiaal.name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Materiaal.name)
@Html.ValidationMessageFor(model => model.Materiaal.name)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Materiaal.description)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Materiaal.description)
@Html.ValidationMessageFor(model => model.Materiaal.description)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Materiaal.inStock)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Materiaal.inStock)
@Html.ValidationMessageFor(model => model.Materiaal.inStock)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
Guid вставляется в MaterialCategory.Id
Как я могу решить это?