,您仍然可以使用扩展方法扩展。
我在一个编译的库中具有以下代码
public interface IActivityLoggerContext
{
DbSet<OF_Activities> OF_Activities { get; set; }
}
public partial class OF_Activities
{
[Key, Column(Order = 0)]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public System.Guid ActivityID { get; set; }
public int ModifiedBit { get; set; }
}
在我的项目中,我会参考上面的库,并使用它如下所示
public partial class OFrameEntities : DbContext, IActivityLoggerContext
{
public OFrameEntities()
: base("name=DefaultConnection")
{
}
public virtual DbSet<BL_Categories> BL_Categories { get; set; } //model in this DBContext
public virtual DbSet<OF_Activities> OF_Activities { get; set; } //Implementing the interface (IActivityLoggerContext) From the library
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
}
}
现在一切正常。
,但问题是我无法在项目中的OF_ACTIVITIOS类中扩展或添加额外的属性
我需要做什么更改,以便我的上下文实现界面以及能够扩展模型
您的扩展OF_activities模型需要具有与库中的of_activities模型完全相同的名称空间。
如果编译器抱怨您尚未实现iActivityLoggerContext,这可能是因为您已经完成了一个名为of_activities的部分类,但没有更改命名空间以匹配库的空间。
NOTE :您只能在同一DLL中放置部分类。即,必须在图书馆中存在任何模型的部分类别扩展。
,如果您无法将扩展模型放在库中。