我现在只是在设计一个 Web 服务,所以我没有实际的代码,但这可能会影响数据库和应用程序的设计。
我计划有一个数据库表(在 SQL Server 中),它将有一个 bigint 类型的主键,它是自动递增的。现在我假设在 ADO.NET 中我不会在向表中添加新记录时设置此字段。我需要知道的是我如何知道刚刚添加的 ID 是什么。当然,然后我可以在该字段上执行选择 MAX,但 ADO.NET 实际上是否返回新 ID 的值,从而节省了我的开销?
例如,如果我有一些这样的代码:
using (MyEntities context = new MyEntities())
{
context.Table1.AddObject(new Table1()
{
StringColumn1 = "some value",
StringColumn2 = "some value"
});
context.SaveChanges();
}
如果 Table1 中有一个名为 ID 的自动增量 PK,我如何知道刚刚添加的值?