我有奇怪的行为,
使用entityframwork 6我检索对象列表,然后我修改外键然后再次插入列表。但结果是插入完成但外键未被修改。
var clients = Uow.Clients.GetAll().where(x => x.zipCode= newZip);
var newClients = new List<Client>();
foreach (var client in clients)
{
client.City = null;
client.cityId = newCityId;
newClients.Add(client);
}
Uow.Clients.AddMany(newClients);
Uow.Commit();
如果你想知道我是否存在更改或AddMany是否有效,答案是肯定的,我使用这些功能很多,一切正常。
答案 0 :(得分:1)
可能发生的情况是,当您执行搜索时,您的实体会通过DbContext
的{{1}}链接到上下文,尝试使用ChangeTracker
将搜索与DbContext断开连接然后修改数据。试试这个:
AsNoTracking()
PS:我推断出Uow是一个DbContext对象