我有一个来自 DB 模型的电话号码表。该表有一个带有“自动增量”值的主键 phoneId
。我需要插入一个新行,但表的模型版本没有可为空的 phoneId
成员。如何指定新记录应获得下一个自动增量/标识号?
我在尝试:
var newPhone = new Phone() {
PhoneId = null,
PhoneNumber = newNumber
};
try {
pdb.Phones.Add(newPhone);
pdb.SaveChanges();
} catch (Exception e) {
Console.WriteLine("COULD NOT ADD new number: {0}", e.Message);
}
在模型中
PhoneId
是“长”而不是“长?”。如果不需要,我不想更改模型。如果我重建模型,我将丢失更改并且可能会忘记我为什么需要它。我尝试复制模型
Phone
类并将该版本的 PhoneId
设置为可为空,但随后 Linq .Add()
方法因无法将一个转换为另一个而犹豫不决。我错过了什么?
最佳答案
您不必设置字段,
该字段在您提交模型时初始化
var newPhone = new Phone() {
PhoneNumber = newNumber
};
try {
pdb.Phones.Add(newPhone);
pdb.SaveChanges();
} catch (Exception e) {
Console.WriteLine("COULD NOT ADD new number: {0}", e.Message);
}
关于C# .Net Linq 添加带有身份字段的新记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53016885/