0

我正在玩基于数据库表构建一些构建块。

所以我创建了一个基于 EDMX“模板”的 UsersManager 和一个 ValidationManager。

我真的很想将这两个组件与 MEF 松散耦合。但因此我需要创建 ValidationManager 中公开的实体对象的接口。有没有一种简单的方法来创建这些接口,这样我仍然可以使用 EDMX 生成的类?

谢谢,保罗

4

1 回答 1

0

使用带有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 正常使用它。

现在,您的UserManagerValidationManager类不再对 . 进行硬引用Product,而是仅对IEntity.

如果我不理解这个问题,请提供更多详细信息,说明您到底想要做什么。

于 2012-12-25T18:06:47.833 回答