如何从实体框架获取自动 ID

本文关键字:ID 获取 框架 实体 | 更新日期: 2023-09-27 17:56:52

我想获取我刚刚创建的客户的 id,以插入到 userId 表中,这将填充查找表中包含的信息。

我的问题是如何从新创建的客户那里检索 ID。顺便说一句,我正在使用实体框架 6

tblPortalCustomerInfo _customer = new tblPortalCustomerInfo();
_customer.firstName = firstname;
_customer.middleName = middle;
_customer.lastName = lastname;
_customer.IVACODE = ivaCode;
_customer.email = emailAddress;
portalEntities.tblPortalCustomerInfoes.Add(_customer);
tblPortalUser _user = new tblPortalUser();
_user.customerInfo = _customer.id; this is where i need the link?.
_user.EmailAddress = emailAddress;
_user.password = password;
_user.isActive = true;
_user.optinDateStart = DateTime.Now;
portalEntities.tblPortalUsers.Add(_user);
portalEntities.tblPortalUsers.Add(_user);

如何从实体框架获取自动 ID

您必须先插入该客户行,然后它将自动填充为其生成的主键值_customer.id,如下所示:

tblPortalCustomerInfo _customer = new tblPortalCustomerInfo();
_customer.firstName = firstname;
_customer.middleName = middle;
_customer.lastName = lastname;
_customer.IVACODE = ivaCode;
_customer.email = emailAddress;
portalEntities.tblPortalCustomerInfoes.Add(_customer);
portalEntities.SaveChanges(); // insert the customer

tblPortalUser _user = new tblPortalUser();
_user.customerInfo = _customer.id; // now you should have primary key value here
_user.EmailAddress = emailAddress;
_user.password = password;
_user.isActive = true;
_user.optinDateStart = DateTime.Now;

添加新记录后需要调用 SaveChange() 方法,然后你会得到新生成的 ID