Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 为MEF生成接口的EntityFramwork_Entity Framework_C# 4.0_Interface_Mef_Edmx - Fatal编程技术网

Entity framework 为MEF生成接口的EntityFramwork

Entity framework 为MEF生成接口的EntityFramwork,entity-framework,c#-4.0,interface,mef,edmx,Entity Framework,C# 4.0,Interface,Mef,Edmx,我正在基于数据库表构建一些构建块 因此,我创建了一个UsersManager和一个ValidationManager,两者都基于EDMX“模板” 我真的很想将这两个组件与MEF松散耦合。但是,因此我需要创建ValidationManager中公开的entityobjects的接口。 有没有一种简单的方法来创建这些接口,这样我仍然可以使用EDMX生成的类 Thanx, Paul使用带有产品表的数据库示例,这就是您试图实现的 但仍然使用生成的实体类(使用标准EF生成器或其他某种POCO生成器) 我

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

因此,我创建了一个UsersManager和一个ValidationManager,两者都基于EDMX“模板”

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

Thanx,
Paul

使用带有
产品
表的数据库示例,这就是您试图实现的

但仍然使用生成的实体类(使用标准EF生成器或其他某种POCO生成器)

我不确定-正如你提到的MEF,我不认为这是直接相关的

生成的实体类是分部类,允许您扩展生成的类,在本例中,您希望扩展该类以实现接口

假设下面的接口将用于引入抽象层

    public interface IEntity {
        public bool IsDeleted { get; set; }
    }
使用扩展的
产品
类创建新的类文件

    public partial class Product : IEntity {
        public bool IsDeleted {
            get {
                throw new NotImplementedException();
            }
            set {
                throw new NotImplementedException();
            }
        }
    }
现在,您已经使用部分类自定义代码扩展了生成的实体
产品
,并且可以通过EF正常使用它

现在,您的
UserManager
ValidationManager
类不再硬引用
Product
,而是只引用
IEntity


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

谢谢您的回答,但我想我没有说清楚:)谢谢您的回答,但我想我没有说清楚:)ValidationManager是一个使用两个部分类Validation和ValidationCode的类,数据库中的两个表。与UserManager相同,UserManager由7个表组成:)在ValidationManager中生成部分类“Validation”。从这个类中,我希望在ValidationManager和UserManager中的单独硬链接库中都有一个接口。。这更有意义吗?还有,我错过了一些。。。。分部类能够“接口”。因此,我重构了Validation和ValidationAction的接口,将接口放在类中:public partial class Validation:EntityObject,IValidation,并将它们转移到一个单独的项目中。。现在它起作用了:D