Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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/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
Performance EF&。EDMX性能注意事项_Performance_Entity Framework - Fatal编程技术网

Performance EF&。EDMX性能注意事项

Performance EF&。EDMX性能注意事项,performance,entity-framework,Performance,Entity Framework,我正在围绕实体框架及其相关的.edmx文件做一些研究 我们当前的设置将大量这些文件编译到我们广泛使用的库中。当然,这并不是一个完美的解决方案——每当我们想要更新或添加数据库层中的内容时,我们都需要重新编译这个库 我们专门使用存储过程,当前的方法是在对象上下文上使用ExecuteFunction方法。但是,这确实需要了解从edmx文件导入的函数返回的类型(context.ExecutionFunction()returnsObjectResult) 我的理论解决方案是在相对路径上存储我们想要使用的

我正在围绕实体框架及其相关的.edmx文件做一些研究

我们当前的设置将大量这些文件编译到我们广泛使用的库中。当然,这并不是一个完美的解决方案——每当我们想要更新或添加数据库层中的内容时,我们都需要重新编译这个库

我们专门使用存储过程,当前的方法是在对象上下文上使用
ExecuteFunction
方法。但是,这确实需要了解从edmx文件导入的函数返回的类型(
context.ExecutionFunction()
returns
ObjectResult

我的理论解决方案是在相对路径上存储我们想要使用的任何.edmx文件,并让库在运行时加载它们

以前有人试过吗?它有用吗?是否有任何性能方面的考虑?这将用于电子商务环境,因此效率和速度非常重要

编辑以获得更清晰的信息:

当然可以将每个.edmx文件编译到自己的程序集中,这可能允许使用。在这方面的任何投入都将是巨大的

我们现在打的电话是这样的

Database.MakeCall<T>("stored_procedure_name", parametersCollection, KnownDatabases.Database);
其中,数据库处理程序将在其构造函数中搜索文件夹中的.edmx文件并全部加载,然后根据上下文名称存储每个上下文的实例。如何定义或获得
T
目前有点模糊


在这两种情况下,返回类型将是“代码> ObjultRESUTS/<代码>

< P > >您想考虑的是Ruby EXDE DB映射,其中在运行时确定DB模式,这样就不需要维护DB-ORM映射库代码。


对于.net来说,亚音速的ORM就像Castle和nHydrate一样。我知道这样的系统可以很好地执行,因为C++实现(ODB)具有一些良好的性能统计(即使它确实生成代码ROMT HE模式,但它自动执行)

我不完全相信方法会起作用。理想情况下,我们需要能够针对我们提供的任何数据库运行存储过程(我们知道其名称)。现在,这是通过为每个数据库生成一个新的.edmx文件并将其编译到库中来实现的。我想要实现的是将运行存储过程的代码与运行它们的数据模型分离。
Database.MakeCall<T>("context_name", "stored_procedure_name", parametersCollection);