我用来按照linq更新数据库表。
var pr = dbEntities.Ac_ProductReceive.FirstOrDefault<Ac_ProductReceive>(x => x.ID == 6);
if (pr != null)
{
pr.ServiceStatus = pr.IsIndoorReceive ? "C" : "DEL";
pr.IsAssigned = false;
pr.UpdatedDate = DateTime.Now;
pr.UpdatedBy = 155;
}
dbEntities.SaveChanges();
但是FirstOrDefault
获取与外键关系相关的所有关系表超过6个表。这会导致我的应用程序出现高CPU和性能问题。
我试过Find()
方法但仍然一样!!!!!!!!!!!!!!!!!!!!!!!!
所以我的问题是如何在不获取单行的所有表的情况下更新数据库。
N.B。我可以使用dbEntities.Database.ExecuteSqlCommand()
,但我反对使用原始sql其他EF linq。