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
Entity framework 使用实体框架解耦数据层_Entity Framework_Layer_Edmx_Presentation_Decoupling - Fatal编程技术网

Entity framework 使用实体框架解耦数据层

Entity framework 使用实体框架解耦数据层,entity-framework,layer,edmx,presentation,decoupling,Entity Framework,Layer,Edmx,Presentation,Decoupling,我正在使用EF4.0、LINQtoEntities、VS2010和SQLServer2005存储过程来做一个小型搜索应用程序。我已经设计了EDM和所需的图层。表示层正确显示搜索结果 现在的困境是,搜索应该足够灵活,可以从不同的表中读取数据。例如,对于当前搜索,应用程序正在从表A中读取。明天,应用程序可能需要从表B中读取,表B的列名可能与表A的列名完全不同 使用EDM如何将表A列映射到表B列,而不影响表示层 如有任何建议/建议/链接,将不胜感激 非常感谢您的时间和帮助。我使用了下面链接中介绍的数据

我正在使用EF4.0、LINQtoEntities、VS2010和SQLServer2005存储过程来做一个小型搜索应用程序。我已经设计了EDM和所需的图层。表示层正确显示搜索结果

现在的困境是,搜索应该足够灵活,可以从不同的表中读取数据。例如,对于当前搜索,应用程序正在从表A中读取。明天,应用程序可能需要从表B中读取,表B的列名可能与表A的列名完全不同

使用EDM如何将表A列映射到表B列,而不影响表示层

如有任何建议/建议/链接,将不胜感激


非常感谢您的时间和帮助。

我使用了下面链接中介绍的数据存储库,它显示了
IDataRepository
DataRepository
类。以及如何使用fetch()和Find()函数动态获取数据


它的工作非常好

我使用了下面链接中解释的数据存储库,它显示了
IDataRepository
DataRepository
类。以及如何使用fetch()和Find()函数动态获取数据


而且它工作得很好

我建议将表示层与数据分离。创建具有泛型类的业务层,该泛型类可以根据需要从不同的表(实体)填充

因此,根据日期的不同,泛型类(或多个类)将从表A、表B或表X中填充。但是,您的表示层将忽略这一点,只知道泛型类中的数据


你可以通过多种方式来设计它。一种方法是设计实体必须符合的接口,以便填充泛型类。因此,无论表结构是什么,您都需要将其中的数据映射到接口,以便填充泛型类,从而将其显示为搜索结果

我建议将表示层与数据分离。创建具有泛型类的业务层,该泛型类可以根据需要从不同的表(实体)填充

因此,根据日期的不同,泛型类(或多个类)将从表A、表B或表X中填充。但是,您的表示层将忽略这一点,只知道泛型类中的数据

你可以通过多种方式来设计它。一种方法是设计实体必须符合的接口,以便填充泛型类。因此,无论表结构是什么,您都需要将其中的数据映射到接口,以便填充泛型类,从而将其显示为搜索结果