假设EF中的两个实体指针总是equal(假设它们指向相同的行和数据库上下文)是否安全?无论我如何遍历连接表等来访问它们。
还是有例外吗?据我所知,他们总是会引用相同的对象,因此总是相同的。
Person p1 = dbcontext.Persons.FirstOrDefault();
Person p2 = dbcontext.Persons.FirstOrdefault();
Debug.Write(p1.Equals(p2)); // true
答案 0 :(得分:1)
根据我的理解,当查询对象时,对象更改跟踪功能(如果启用)将返回已查询的同一对象。默认情况下,它已启用。如果刷新对象,则可能不是这种情况(意味着上下文中的Refresh方法)。
我不保证这种行为100%......