Entity Framework Code First的非导航属性延迟加载

13

我正在使用实体框架Code First CTP4。

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

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

谢谢 本


1
只是猜测,可能有一种表拆分的方法能够帮到您:http://thedatafarm.com/blog/data-access/ef-table-splitting-ndash-the-opposite-of-entity-splitting/。 - Devart
是的,在支持延迟加载属性之前,我们以前使用NH来完成这项工作。看起来EF Code First也将是如此。 - Ben Foster
1个回答

2
  1. Vote here
  2. Vote here
  3. Read this
  4. Ugly workaround:

    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
          });
      }
    }
    
这不会选择其他字段。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接