"..." cannot implement an interface member because it is not public
c#, dbcontext, entity-framework
Solution
However, this makes no sence since the interface obviously IS public. What could be the error here?
No, it isn't. Members on classes are `private` by default. This `Entities1` is private:
public class MyDbContext : DbContext, IDatabaseContext {
IDbSet<MyEntity1> Entities1 { get; set; }
}
Note that this is different to `interface`s, where everything is `public` and access modifiers do not make sense. So: either make the member `public`:
public class MyDbContext : DbContext, IDatabaseContext {
public IDbSet<MyEntity1> Entities1 { get; set; }
}
or do an explicit interface implementation:
public class MyDbContext : DbContext, IDatabaseContext {
IDbSet<MyEntity1> IDatabaseContext.Entities1 { get; set; }
}
Problem
``` public interface IDatabaseContext : IDisposable { IDbSet<MyEntity1> Entities1 { get; set; } } public class MyDbContext : DbContext, IDatabaseContext { IDbSet<MyEntity1> Entities1 { get; set; } } ``` Can't compile because of the error described in here: http://msdn.microsoft.com/en-Us/library/bb384253(v=vs.90).aspx However, this makes no sence since the interface obviously IS public. What could be the error here?