Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/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
Odata edm与反射提供程序_Odata_Ado.net Entity Data Model - Fatal编程技术网

Odata edm与反射提供程序

Odata edm与反射提供程序,odata,ado.net-entity-data-model,Odata,Ado.net Entity Data Model,我想知道哪一个最适合——EDM或项目的反射提供者。 当然,EDM在数据库上开发要简单得多。但问题是,如果我们已经在数据库上有了数据访问层,那么如果使用EDM,我们可能必须更改现有的体系结构。因此,我想知道,在使用实体数据模型或反射提供程序将数据作为Odata提要公开时,是否有任何具体差异。反射提供程序使用反射来基于您的类层次结构。EDM提供程序直接使用实体框架创建的模型。如果您已经有了数据访问层,那么我认为您实际上有三个选项: -如果反射提供程序工作正常,请尝试使用反射提供程序。不幸的是,我怀疑

我想知道哪一个最适合——EDM或项目的反射提供者。
当然,EDM在数据库上开发要简单得多。但问题是,如果我们已经在数据库上有了数据访问层,那么如果使用EDM,我们可能必须更改现有的体系结构。因此,我想知道,在使用实体数据模型或反射提供程序将数据作为Odata提要公开时,是否有任何具体差异。

反射提供程序使用反射来基于您的类层次结构。EDM提供程序直接使用实体框架创建的模型。如果您已经有了数据访问层,那么我认为您实际上有三个选项: -如果反射提供程序工作正常,请尝试使用反射提供程序。不幸的是,我怀疑它会起作用——它会改变你的对象,但我不认为它会向数据库发送查询。除了能够更新数据外,还需要实现IUpdatable接口 -使用EDM/EF提供程序,您可能需要将所有数据访问层移动到EF。这意味着您可能必须摆脱现有的访问层。这样做的好处是,一旦完成,它应该可以很好地开箱即用(查询更新等) -最后,您可以实现自定义提供程序。您必须实现几个接口,这些接口将充当WCF数据服务和访问层之间的桥梁。请注意,这是相当多的工作。以下是本系列的第一篇文章,介绍了如何做到这一点: