c#DbSet – 无法获取内部对象
我需要将实体切换到内部。 所以我创造了它。 没有构建/运行时错误。 但是当我想使用DbSet对象时我不能,因为对象似乎没有初始化!
我的ContextEntities:
public partial class Entities { internal DbSet EmployeeSet { get; set; } }
我这样用:
Entities context = new Entities(); List employees = context.EmployeeSet.ToList();
但“EmployeeSet”为空。 我认为这是因为它没有在get中实例化。 如果我像这样使用public,它可以工作:
public partial class Entities { public DbSet EmployeeSet { get; set; } }
问题:如果DbSet标记为内部,它可以工作吗? 如果是这样的话? 为什么会破坏它? (谢谢Scott Stafford)
如果未设置为public
,则不会自动实例化。 您可以使用Set
方法手动实例化它。
public partial class Entities { internal DbSet EmployeeSet { get; set; } public Entities() { EmployeeSet = Set (); } }
我只是遇到了同样的问题并且能够通过仅将getter设置为internal
来修复它。
public partial class Entities { public DbSet EmployeeSet { internal get; set; } }