【发布时间】:2014-03-09 21:46:17
【问题描述】:
此问题专门针对 EMS nopcommerce。当我查看 EFRepository 中的 EF 实现时
https://nopcommerce.codeplex.com/SourceControl/latest#src/Libraries/Nop.Data/EfRepository.cs
我看到有一个属性
protected virtual IDbSet<T> Entities
{
get
{
if (_entities == null)
_entities = _context.Set<T>();
return _entities;
}
}
我可以看到实体被设置为上下文。我看不到参考导航属性是如何设置的?任何外来关系都不会设置到上下文中吧??
【问题讨论】:
-
设置“实体”和“参考导航属性”是什么意思?此方法只返回一个
IDbSet。它没有设置任何东西。 -
默认情况下 _entities 为空,因此当调用属性时,会执行 _context.Set
() 行,将实体“设置”到上下文,但是任何附加的(参考导航属性)例如,如果 T = Customer,那么 Customer.Job 是否附加到上下文?
标签: c# entity-framework nopcommerce