【发布时间】:2010-05-02 01:06:05
【问题描述】:
我有一个名为地址的表。我在该表上有一个用于插入的触发器,它对地址进行一些空间计算,以确定它所在的邻域边界。
address = new Address
{
Street = this.Street,
City = this.City,
State = this.State,
ZipCode = this.ZipCode,
latitude = this.Latitude,
longitude = this.Longitude,
YearBuilt = this.YearBuilt,
LotSize = this.LotSize,
FinishedSize = this.FinishedSize,
Bedrooms = this.Bedrooms,
Bathrooms = this.Bathrooms,
UseCode = this.UseCode,
HOA = this.HOA,
UpdateDate = DateTime.Now
};
db.AddToAddresses(address);
db.SaveChanges();
在数据库中,我可以清楚地看到触发器运行并更新了地址表中该行的邻域ID。我试图重新加载该记录以获取分配的 ID,如下所示:
address = (from a in db.Addresses where a.AddressID == address.AddressID select a).First();
在调试器中我可以清楚地看到 address.AddressID 是正确的,实体不会在内存中更新。 有什么解决办法吗?
【问题讨论】:
标签: sql-server linq-to-sql triggers