"..." 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?

Original source

Related problems