我有一个Device
其他的列表DeviceLogEntry
。 device.Logs
是一个导航属性,我目前像这样添加新日志
device.Logs.Add(newEntry);
日志是这样定义的
public virtual ICollection<DeviceLogEntry> Logs { get; set; }
Logs
我的问题是这会在添加新表之前加载整个表吗?如果是这样(这会很慢,因为日志包含很多条目)。什么是更好(更快)的选择?
我有一个Device
其他的列表DeviceLogEntry
。 device.Logs
是一个导航属性,我目前像这样添加新日志
device.Logs.Add(newEntry);
日志是这样定义的
public virtual ICollection<DeviceLogEntry> Logs { get; set; }
Logs
我的问题是这会在添加新表之前加载整个表吗?如果是这样(这会很慢,因为日志包含很多条目)。什么是更好(更快)的选择?
看起来这是他们现在没有解决的问题:http: //entityframework.codeplex.com/workitem/683
您可以尝试几件事。
对于第 2 点,将是在您的日志表上公开 DeviceId 的情况,而不是这样做:
device.Logs.Add(newEntry);
会做类似的事情:
newEntry.DeviceId = _deviceId;
context.Logs.Add(newEntry);