Вы не привязали поле ввода к чему-либо, используйте ngModel
<input type="number" [(ngModel)]="inputNum" style="width:40px; float:right;" />
или если вы не хотите использовать модуль форм
<input type="number" (change)="inputNum = $event.target.value" style="width:40px; float:right;" />
Необходимо было бы включать основной или альтернативный ключ в DTO, затем соответствовать тому ключу назад к корректному объекту EF после обновления.
старый вопрос, но на всякий случай кому-то понадобится кодовое решение:
Пример:
public void EditArticle(
Article article, string articleTypeId, string[] categoryId)
{
var id = 0;
Article art = de.ArticleSet
.Include("ArticleTypes")
.Include("Categories")
.Where(a => a.ArticleID == article.ArticleID)
.First();
var count = art.Categories.Count;
for (var i = 0; i < count; i++)
{
art.Categories.Remove(art.Categories.ElementAt(i));
count--;
}
foreach (var c in categoryId)
{
id = int.Parse(c);
Category category = de.CategorySet
.Where(ct => ct.CategoryID == id).First();
art.Categories.Add(category);
}
art.Headline = article.Headline;
art.Abstract = article.Abstract;
art.Maintext = article.Maintext;
art.DateAmended = DateTime.Now;
art.ArticleTypesReference.EntityKey = new EntityKey(
"DotnettingEntities.ArticleTypeSet",
"ArticleTypeID",
int.Parse(articleTypeId)
);
de.SaveChanges();
}