I need to switch an entity to internal. So I create it. No build/runtime error. But when I want to use the DbSet object I can't because the object seems not initialized !
My ContextEntities:
public partial class Entities
{
internal DbSet<Employee> EmployeeSet { get; set; }
}
I use like this:
Entities context = new Entities();
List<Employee> employees = context.EmployeeSet.ToList();
But "EmployeeSet" is null. I think it's because it is not instantiated in get. It works if I use public like this:
public partial class Entities
{
public DbSet<Employee> EmployeeSet { get; set; }
}
Questions: Can it work if a DbSet is marked internal? If so how? Why does that break it? (thanks Scott Stafford)
It will not be automatically instantiated if it is not set to public. You can manually instantiate it using Set<TEntity>() method.
public partial class Entities
{
internal DbSet<Employee> EmployeeSet { get; set; }
public Entities()
{
EmployeeSet = Set<Employee>();
}
}
I just had the same problem and was able to fix it by only setting the getter as internal.
public partial class Entities
{
public DbSet<Employee> EmployeeSet { internal get; set; }
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With