我正在玩基于数据库表构建一些构建块。
所以我创建了一个基于 EDMX“模板”的 UsersManager 和一个 ValidationManager。
我真的很想将这两个组件与 MEF 松散耦合。但因此我需要创建 ValidationManager 中公开的实体对象的接口。有没有一种简单的方法来创建这些接口,这样我仍然可以使用 EDMX 生成的类?
谢谢,保罗
我正在玩基于数据库表构建一些构建块。
所以我创建了一个基于 EDMX“模板”的 UsersManager 和一个 ValidationManager。
我真的很想将这两个组件与 MEF 松散耦合。但因此我需要创建 ValidationManager 中公开的实体对象的接口。有没有一种简单的方法来创建这些接口,这样我仍然可以使用 EDMX 生成的类?
谢谢,保罗
使用带有Product
表的数据库示例,这就是您要实现的目标....
但仍使用生成的实体类(使用标准的 EF 生成器或某种其他 POCO 生成器)。
我不确定 - 正如你提到的 MEF,我认为它没有直接关系。
生成的实体类是部分类,它允许您扩展生成的类,在这种情况下,您希望扩展该类以实现接口。
假设将使用以下接口来引入抽象层...
public interface IEntity {
public bool IsDeleted { get; set; }
}
使用扩展类创建一个新的类文件Product
...
public partial class Product : IEntity {
public bool IsDeleted {
get {
throw new NotImplementedException();
}
set {
throw new NotImplementedException();
}
}
}
您现在已经Product
使用部分类自定义代码扩展了生成的实体 - 您可以通过 EF 正常使用它。
现在,您的UserManager
和ValidationManager
类不再对 . 进行硬引用Product
,而是仅对IEntity
.
如果我不理解这个问题,请提供更多详细信息,说明您到底想要做什么。