【问题标题】:Entity Framework Code First lazy loading non navigation properties实体框架代码优先延迟加载非导航属性
【发布时间】:2011-05-03 01:18:39
【问题描述】:

我用的是实体框架代码先CTP4。

是否可以像在 NH 3 中一样延迟加载非导航属性。

一个常见的例子是有一个包含二进制列的表。我只想在我的代码中明确要求该属性时检索该列的数据,例如image.ImageData

谢谢 本

【问题讨论】:

  • 只是猜测。有一个 Table Splitting 的方法,也许会有所帮助:thedatafarm.com/blog/data-access/…
  • 是的,这是我们在添加对延迟加载属性的支持之前对 NH 所做的事情。看来 EF 代码也是如此。

标签: entity-framework-4 ef-code-first


【解决方案1】:
  1. 投票here
  2. 投票here
  3. 阅读this
  4. 丑陋的解决方法:

    public static void Main()
    {
      IEnumerable<MyTable> table;
      using (Entities context = new Entities())
      {
        var buffer =
          context.MyTable
          .Select(myTable => new
          {
            Id = myTable.Id,
            OtherColumn = myTable.OtherColumn
          })
          .ToArray();
    
        table = buffer
          .Select(t => new MyTable 
          {
            Id = t.Id, 
            OtherColumn = t.OtherColumn
          });
      }
    }
    

这不会选择其余字段。

【讨论】:

    猜你喜欢
    • 2012-07-13
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多