如何使用linq在数据库中插入行时检索身份ID

问题描述 投票:2回答:2

如何使用linq在数据库中插入行时检索身份ID?

linq-to-sql
2个回答
4
投票

如果您将“ID”行的属性设置为“自动生成的值”= true并将“自动同步”设置为“OnInsert”

alt text

.....只需在使用.SubmitChanges()保存更改后阅读。没有特别的技巧或任何需要的东西....

所以在NerdDinner样本的情况下:

using(NerdDinnerContext ctx = new NerdDinnerContext())
{
    Dinner upcoming = new Dinner();

    // set all properties for the dinner 
    upcoming.EventDate = DateTime.Today.AddDays(30);

    ctx.Dinners.InsertOnSubmit(upcoming);
    ctx.SubmitChanges();

    int newDinnerID = upcoming.DinnerID;
}

现在“newDinnerID”应该包含新添加的IDENTITY。


1
投票

LINQ to SQL应自动检索插入对象的标识,并相应地更新映射到主键的字段 - 只要映射的PK属性标记为[Column(IsDbGenerated=true)]

© www.soinside.com 2019 - 2024. All rights reserved.