我最初发布此内容是为了回复这个问题 https://stackoverflow.com/questions/810529/但意识到我应该问一个新的。这似乎表明我应该能够执行以下操作:
int count = Db.Countries.Count();
Country newCountry = new Country{Name = "France"};
Db.Countries.InsertOnSubmit(c);
Country getCountry = Db.Countries.FirstOrDefault(x => x.Name == "France");
count = Db.Countries.Count();
Db.Countries.DeleteOnSubmit(c);
count = Db.Countries.Count();
然而,在一张空桌子上,count
遗迹0
在调试器中单步执行的过程中,getCountry
is null
执行后。
我缺少什么?
LINQ-to-SQL 位于数据库中的数据和本地保存的对象之间的那个地下世界。此时,您还没有将更改提交到数据库(Db.SubmitChanges()
) - 它们仅存在于本地。
Db.Countries.Count()
在数据库中执行(即select COUNT(1) from Countries
) - 所以答案是 0。
尝试将本地增量与数据库世界结合起来(在一般情况下)会非常困难,所以简而言之:不要这样做。这是行不通的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)