问题标签 [data-layer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
482 浏览

javascript - ember-model 示例应用程序

我正在寻找使用 ember-model ( https://github.com/ebryn/ember-model )的示例应用程序

我正在寻找一个例子:

  • 展示对象获取和创建,
  • 展示自定义适配器的编写,
  • 有完整的可用资源

我通读了 GitHub 上的 ember-model 文档,我看到了有关该主题的 Ember-cast ( http://www.embercasts.com/episodes/getting-started-with-ember-model )。

CAVEAT:不要与竞争解决方案 EmberData 混淆。Ember-model 是一个独立开发的替代方案。

0 投票
2 回答
568 浏览

c# - EF 数据访问层中的多个 IEntityChangeTracker 实例无法引用实体对象

我已经看到很多关于同一主题的问题,但还没有找到解决方案。给我带来问题的代码是:

我获取存储库的方式是通过 OrderController 构造函数中的依赖注入,所以我相信这是一种标准方式。我的每个回购都是以这种方式构建的:

我在哪里覆盖通用实体存储库中的方法:

最后这是我的 UnitOfWork 项目:

和我正在使用的上下文

我知道我展示了很多代码,但希望这些都是数据访问层的构建块。出于某种原因,当我在 SampleOrders 上调用 InsertGraph 方法时,我得到“一个实体对象不能被多个 IEntityChangeTracker 实例引用”异常。我看了几十遍这段代码,不明白为什么会抛出这个错误信息

0 投票
1 回答
465 浏览

c# - 将 dbcontext 连接字符串传递给 DALayer

我的应用程序中有 4 层UI, DomainClass, Model(DBCntext), Repository.

在存储库中,我有一个像这样的抽象类:

我从这个类继承的所有实体都是这样的:

UI称之为存储库。正如你在这里看到的:

在 UI 层我有一个连接字符串,app.config你可以在这里看到:

但我想为我的用户提供一个选项,让他们可以通过此选项connection string自行设置。所以我在 UI 层创建了一个表单,当用户尝试使用log in它时会询问他们连接字符串。我的问题是How can pass this connection string to my dbcontext

在我的model layer(dbcontext)我有这个:

0 投票
1 回答
138 浏览

c# - 我的 dbcontext 不希望有任何连接字符串作为输入

我的应用程序中有 4 层UI, DomainClass, Model(DBCntext), Repository.

在存储库中,我有一个像这样的抽象类:

我从这个类继承的所有实体都是这样的:

UI称之为存储库。正如你在这里看到的:

在 UI 层我有一个连接字符串,app.config你可以在这里看到:

但我想为我的用户提供一个选项,让他们可以通过此选项connection string自行设置。所以我在 UI 层创建了一个表单,当用户尝试使用log in它时会询问他们连接字符串。我的问题是How can pass this connection string to my dbcontext

在我的model layer(dbcontext)我有这个:

我清除了app.config文件中的连接字符串,但应用程序不需要任何连接字符串,并且它无法连接到数据库。为什么?我应该在哪里将连接字符串注入到 dbcontext?你可以看到我的构造函数需要输入。我需要在 UI 层执行此操作

此致

0 投票
1 回答
2628 浏览

asp.net-mvc - c#中的数据访问层与IOC(依赖注入)

我正在尝试用 C# 构建一个多层应用程序(服务)。准确地说,我正在尝试使用 ASP.NET Web Api 构建一个 REST Web 服务,它将由我自己(使用 Owin)托管。现在我已经有了以下组件(每个组件都在一个单独的 .dll 中):

- RestHost(在我的例子中是一个控制台应用程序)
- RestService(这是我的所有控制器的 Web 服务)
- InterfacesLayer
- ModelLayer(这里是我使用的对象,只是使用它们的 get/set 方法)
- DataLayer(ModelLayer 中的每个类在 Datalayer 中都有自己的类,另外还有数据库连接类)
- BusinessLayer(这里所有的逻辑都完成了,模型中的每个类都有自己的类,并且该层与 REST 服务和数据层通信)。

RestHost - 顾名思义,它是我服务的主机。除此之外,我还在这里进行依赖注入。由于代码不多,我将其发布:

哦,我忘了提及,但是您可以从代码中看到它,在我的主机应用程序中,我还在阅读我的连接字符串所在的 App.Config。
这是我的问题。我不确定如何从我的服务访问数据库连接。在这里,我在我的数据访问层中实现了 Firebird,但我不确定如何在我的应用程序中使用它。当然,最简单的方法就是创建一个实例并将其传递给我的服务,但这是我想做的最后一件事。我也一直在考虑将 Firebird 实现为静态类或单例,但是我不能使用我的 IPersistant 接口(除此之外,我认为这不是正确的方法)。
所以我的问题是,这种东西有什么最佳实践吗?我需要以某种方式将连接字符串传递给 IPersistent (Firebird) 的实现,但实际上没有在我的 RESTService 中创建 Firebird 的实例。

谢谢

0 投票
6 回答
6401 浏览

android - Android Wear 错误 ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, resolution=null}

我想做一个简单的可穿戴应用程序并通过数据层进行连接。手持模块(使用:S5)一切正常,但可穿戴设备(使用:Moto 360)总是抛出错误:

onConnectionFailed:ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED,分辨率=null}

手持设备上的播放服务是最新的

我已经添加

对两者来说,手持设备,作为穿戴 build.gradle。

可穿戴活动:

我已经进行了研究,但找不到任何可行的解决方案。

0 投票
0 回答
1975 浏览

magento - Magento 订单成功页面上的 Google Tag Manager 数据层

我在 Magento Enterprise 电子商务网站上安装了 GTM。实施数据层以在结帐/成功页面上捕获交易订单数据的过程是什么?

我想远离 Magento 扩展。感谢您的时间。

0 投票
1 回答
3395 浏览

google-tag-manager - Google 跟踪代码管理器在触发代码中将数据层变量值显示为未定义

我正在尝试在我的标签中添加 dataLayer 变量值,但是当我在 Chrome 中查看控制台的 Network 选项卡内触发的标签时,我看到标签已填充了未定义的值,即使控制台中的 dataLayer 对象有正确的价值观。

这是我在 GTM 中的 dataLayer 变量:

在此处输入图像描述

这就是我访问标签内的值的方式:

ORDERID={{ORDERID}}

这就是我在控制台中看到的 dataLayer 值:

在此处输入图像描述

但在网络选项卡中,我看到 dataLayer 变量未定义:

在此处输入图像描述

这就是我的跟踪代码管理器在预览模式下的 DataLayer 的样子:

在此处输入图像描述 为什么??我现在正在拉头发。如何访问 dataLayer 变量值?

0 投票
2 回答
821 浏览

sql-server - 包含过多业务逻辑的 (T)Sql 视图

我有一个 TSQL 视图。除了几列之外,它非常基本,因为它只是进行了一些连接,然后将所有内容粘合在一起以呈现应有的漂亮视图。然而,不那么简单的少数列使得视图代码很难扩展,现在新的需求已经出现,使得复杂列的业务逻辑无效。

无需过多介绍,我的数据库中有一个表:

这由“就业”行组成。每次一行中的任何列,对于给定的就业变化(假设是employmentTitle变化),然后当前行被推入另一个 table tblEmploymentHistory,并且行中的行tblEmployment被更改,因此它包含最新的employmentTitle

从本质上讲,视图的作用是尝试将tblEmploymentontblEmploymentHistory与 unique 结合起来EmploymentIdentifier,这是有道理的。

视图中更复杂的列将尝试elapsedTime通过从它连接在一起的行(即 from )进行各种计算来计算一个数字(对于每一行tblEmployment and tblEmploymentHistory)。为了获得经过的时间,它根据规定的业务逻辑执行计算,例如,只有历史表中的特定日期时间列才应计入总的经过时间,并且只有在该行中的其他列设置为特定值等时才应该这样做。

现在有了新的需求,业务逻辑比以前复杂多了。我发现很难扩展视图以包含它,因为它变得非常混乱,而且我觉得这可以在其余业务逻辑也驻留的应用程序层中更加结构化!

废弃视图并将其移动到我的应用程序的应用程序层是否“正确”?显然,拥有视图的好处是速度很快,并且在代码中对大约 100.000 行进行计算需要一些时间。但是,可以通过过滤掉行来优化它,使数字在 10.000 左右。

解决这个问题的“标准”和最干净的方法是什么?

0 投票
1 回答
497 浏览

asp.net-mvc - 直接从 DAL 返回视图模型以提高 MVC 中的性能?

我在 MVC 中经常看到的模式是从数据库中加载域模型(或存储库),然后将其映射到视图模型中。

我对这种模式有疑问 - 当您遇到视图模型仅包含大型域模型对象中的几个属性的情况时。而且因为它是一个可能会获得高流量的网站,这似乎不是性能方面的最终解决方案,它就像在做SELECT * FROM TABLE,而不是仅仅选择所需的列。

我能想到的另一种选择是 DAL 会返回一个视图模型而不是域模型,但我以前从未见过这样的 pettern,这是一个不好的模式吗?还有其他模式吗?还是应该忽略加载大型域模型的开销,即使我只需要几个属性?