【问题标题】:EF code first- alter data after finished loading from databaseEF 代码首先从数据库加载完成后更改数据
【发布时间】:2013-04-28 21:03:19
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    您应该查看 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.
    

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

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-29
        • 2018-09-18
        • 1970-01-01
        • 2018-02-26
        • 1970-01-01
        • 1970-01-01
        • 2012-02-01
        • 1970-01-01
        相关资源
        最近更新 更多