实体框架为MEF生成接口

时间:2012-12-25 16:37:09

标签: entity-framework c#-4.0 interface mef edmx

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

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

我真的想用MEF将这两个组件分开。但是因此我需要创建ValidationManager中公开的entityobjects的接口。 有没有一种简单的方法来创建这些接口,我仍然可以使用EDMX生成的类?

感谢名单, 保罗

1 个答案:

答案 0 :(得分:0)

使用带有Product表的数据库示例,这正是您要实现的目标....

enter image description here

但仍然使用生成的实体类(使用标准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

如果我不明白这个问题,请详细说明您想要做的事情。