0

我有一个Device其他的列表DeviceLogEntrydevice.Logs是一个导航属性,我目前像这样添加新日志

device.Logs.Add(newEntry);     

日志是这样定义的

public virtual ICollection<DeviceLogEntry> Logs { get; set; }

Logs我的问题是这会在添加新表之前加载整个表吗?如果是这样(这会很慢,因为日志包含很多条目)。什么是更好(更快)的选择?

4

1 回答 1

1

看起来这是他们现在没有解决的问题:http: //entityframework.codeplex.com/workitem/683

您可以尝试几件事。

  1. 通过删除虚拟来禁用实体的延迟加载
  2. 如果适用,请以其他方式添加

对于第 2 点,将是在您的日志表上公开 DeviceId 的情况,而不是这样做:

device.Logs.Add(newEntry);  

会做类似的事情:

newEntry.DeviceId = _deviceId;
context.Logs.Add(newEntry);
于 2014-03-10T17:28:28.580 回答