EF代码在从数据库完成加载后首先更改数据

时间:2013-04-28 21:03:20

标签: c# entity-framework-4 ado.net ef-code-first

我有一个EF代码第一个实体,并希望在其上创建一个计算列。我需要首先完成所有现有的db-loaded值,所以我不能通过属性集调用来解决这个问题。是否存在事件或某种方式,对象可以知道它已完成从db中加载所有数据,因此可以执行计算?

2 个答案:

答案 0 :(得分:0)

您应该查看LazyLoading,它将确定何时以及如何实际检索数据。默认情况下,首次调用时会加载数据。这意味着你要做这样的事情。

var result = DB.where(x+> x.id == 1);

结果字段将在您调用它们时加载:

var test = result.1stField; //1st field values will actually be loaded as this call is made.

然而,你可以设置它,以便在你第一次调用时立即加载所有数据,这应该阻止执行直到加载所有值,这将为你提供执行计算所需的时间。

答案 1 :(得分:0)