小编Cra*_*azy的帖子

Cakephp组件VS Libs和shell

我正在做一个项目,我很困惑,把什么代码放在哪里.我在这里举一个简单的例子来说明为什么我有些困惑.

想象一下在cakephp应用程序中的几个网页,可以以这种或那种方式创建一个帐户 - 与此帐户一起,需要调用来自模型和库的其他几个函数(示例压缩一些,为帐户创建证书,... ).

看到它需要在几个位置完成并且不完全属于模型(+是相当多的代码),最好的方法是使用我想到的组件.

只要你在Web服务器后面,这很有效,但是如果我也希望在Shell中提供所有这些功能呢? - 然后我不能使用组件,只能加载库.

这是我可以/想要共享的所有函数/ php代码的情况,以便在控制器中的两个shell中都具有所有逻辑.

这里有问题:) =>所以我的所有组件都需要是libs?,在这些库中加载模型/其他库等架构是否正确?那么组件的用途是什么?,不妨'rm -rf '他们只使用图书馆?

到目前为止,我使用组件的方式是将所有可以/需要在控制器之间共享的过程逻辑放在其中.当我不需要任何模型或只是静态函数的集合(例如操纵图像的例子)时,我使用了Libs.这样做我在使用Shell脚本时需要/需要访问这些组件中的逻辑.

我的理解出错的地方有什么想法吗?

php shell components cakephp

5
推荐指数
1
解决办法
646
查看次数

由于 InitializedDatabases 列表,EntityFramework6 内存使用量很大

在我们的应用程序中有大量的表(大约 50k)——所有这些表都被实际使用,这导致实体框架中的内存消耗很高。

在进行了一些内存分析后,我注意到 DbCompiledModel 类被保存在内存中,因此经过一些搜索后,将其追踪到保留“InitializedDatabases”列表的 LazyInternalContext 类。

https://github.com/dotnet/ef6/blob/master/src/EntityFramework/Internal/LazyInternalContext.cs#L670

有没有办法阻止实体框架这样做?,如果这是“InitializeDatabaseAction”所暗示的,它不是代码优先设置,数据库设置和迁移不在此应用程序中完成。

设置“return null”或将“InitializerDisabled”设置为true会使一切正常,但宁愿不运行自定义实体构建,而且不知道仅“更改”源会产生什么影响。

大多数表都有相同的定义,所以也尝试了我在这里找到的解决方案: 在运行时更改表名

尝试此操作时,我收到错误消息“此命令存在开放数据读取器”,不支持使用 postgres 和 MARS(不知道为什么我需要它,这只会更改正在运行的 sql)

c# entity-framework

5
推荐指数
1
解决办法
230
查看次数

标签 统计

c# ×1

cakephp ×1

components ×1

entity-framework ×1

php ×1

shell ×1