Вот таблица и код
public class Person {
[Key] public int ID {get;set;}
public string Name {get;set;}
}
var owner = new Person() { ID = 1, Name = "Owner" };
db.People.Add(Person);
db.SaveChanges();
Метод SaveChanges не добавляет идентификатор в sql, поэтому я получаю следующий SQL-запрос
exec sp_executesql N'insert [dbo].[People]([Name])
values (@0)
select [ID]
from [dbo].[People]
where @@ROWCOUNT > 0 and [ID] = scope_identity()',N'@0 varchar(50),@0='Owner'
Вместо ожидаемой вставкитакже передается оператор с идентификатором.
Есть ли еще один атрибут, который мне нужен, чтобы убедиться, что идентификатор передается как часть запроса?
Я уверен, что он будет задан, но этоне-автоинкремент по назначению.