问题标签 [repository-design]

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 投票
0 回答
31 浏览

jasperserver - 组织和子组织共享资源

我正在为多个租户设计一个存储库。每个租户(组织)都有多个子组织,这些子组织还有另一个子子组织,依此类推。

一些资源仅由叶子组织访问,但其中一些资源在整个组织子树之间共享。

很好的例子是公司徽标或数据源。在任何子组织中创建的报告必须能够访问它。我不知道如何设计它 - 子组织无法访问父存储库项目。而且我不想在每个树子节点都复制它。我可以使用公用文件夹,但这对所有必须隔离的租户都是公用的。

编造的例子:

标志路径:Company1\Human_resources\HR_logo.jpg

应访问徽标的报告:Company1\Human_resources\HR_subdivision1\some_report.jrxml

当我以 HR_subdivision1 用户身份登录时,我无法访问该徽标。

如何在一个租户内的多个子组织之间共享存储库项目?

0 投票
1 回答
268 浏览

c# - 如何通过 EF Repositry 向 MVC 中的多个表添加记录

我有三个模型,如下面的第一个学生模型

二等车型

第三个是学生班

这是我的学生和班级的抽象课程

这两个类的存储库是:

以及我对班级和部分的看法

现在我想当我们将学生添加到数据库时,我想将其他数据保存到 Student 表,并将班级信息保存到 StudentClass 表。我该怎么做???提前致谢

0 投票
3 回答
68 浏览

git - 解决方案文件的 Github 依赖关系

我不确定描述这一点的最佳方式 - 我已经做了一些谷歌搜索,但可以使用。

我目前有一个具有以下内容的解决方案:

Repository 1 ProductProject1 ProductProject2 ProductProject3 SharedCodeProject1 SharedCodeProject2

我目前遇到的问题是,如果任何开发人员想要在 ProductProject1 上工作,他们必须克隆为他们提供 ProductProject1、2 和 3 的整个存储库。

这一直很好,但是直到最近我正在招聘更多的开发人员,我真的希望他们只专注于 3 个产品项目之一并专注于那个。

我很好奇其他人如何处理这种情况?只允许开发人员像我一样克隆整个存储库吗?

我提出的解决方案是...

可能的解决方案 1

设置单个存储库,如下所示:

Repository1 ProductProject1 SharedCodeProject1 SharedCodeProject2

Repository2 ProductProject2 SharedCodeProject1 SharedCodeProject2

Repository3 ProductProject3 SharedCodeProject1 SharedCodeProject2

优点:代码更精简,只将开发人员暴露给他们负责的 ProductProject

缺点:经过深思熟虑后,我意识到每个存储库SharedCodeProject1SharedCodeProject2基本上会有混合版本,而事实上它们应该并且可以在所有存储库中保持相同。

可能的解决方案 2

设置单个存储库,如下所示:

Repository1 ProductProject1

Repository2 ProductProject2

Repository3 ProductProject3

Repository4 SharedCodeProject1 SharedCodeProject2

优点:老实说,我什至不确定这种结构是否可行,因为存储库 1 - 3 中会有大量损坏的引用(除非有一些我不知道的神奇设置) - 但是,理论上奖金是SharedCodeProject1 和 2 是集中式的,因此更新所有开发人员的任何开发人员都可以接收并重用这些更新(特别是对于作为 sharedcodeproject 之一的 DB 层和其他共享代码项目中的业务逻辑)

缺点:在同步之前,所有存储库都不会真正实现重大更改(这有意义吗)

我很难找到完成这项工作的最佳方法。我希望这是有道理的,如果我能澄清一下,请告诉我。

我只是好奇其他公司如何在 github 上构建大型解决方案,就像这样,同时试图将开发人员的访问权限限制在特定项目中。

非常感谢!

0 投票
1 回答
51 浏览

git - 将文件移动到单独的存储库而不移动磁盘上的文件

这个问题与,例如,如何将文件从一个 git 存储库移动到另一个(不是克隆),保留历史记录 分离(移动)子目录到单独的 Git 存储库但问题(或至少解决方案,我认为)是不同的. 我有以下目录结构:

该目录abc是 git 存储库的根目录,例如repo1.

我想要的是放入file2.txt不同的存储库repo2(本地并链接到远程)。但是,我不想file2.txt移出目录(如相关问题中所述)。所有其他文件和文件夹 ( def, file1.txt, xyz/*) 必须保留在repo1.

当我做git commitorgit push时,更改为file1.txt应该去repo1和更改为file2.txt应该去repo2

作为一种解决方法,我可以在其中创建一个额外的目录def并移动file2.txt到那里,如果这样更容易的话。但是,我不想file2.txt移出当前树。

历史file2.txt并不一定需要在这一举动中保存下来。

0 投票
1 回答
573 浏览

domain-driven-design - 处理来自映射对象的实体更新

我首先有我的代码,用于对我的模式/表建模的 SQL 数据模型(使用 EF Core 1.1)。但是,我也有域对象,它们是这些 SQL 数据模型的部分或完整映射版本,本质上它们与 SQL 数据模型具有相同的形状。

现在我想知道当您在跟踪上下文的上下文之外更改复杂对象时,处理级联更新的最佳方法是什么。当您认为我的所有域操作都不会发生在被跟踪实体上时,它们会发生在域对象上。

简而言之,这就是我想要实现的目标。

1)从数据库中读取实体。

2) 将实体映射到域对象。

3) 将更新应用于域对象。

4) 将域对象映射回实体。

5) 对映射实体应用数据库更新,从而更新实体及其关联的相关实体。

顺便说一句,实体和域对象具有可能遇到的典型多对一关系。这样做的最佳方法是什么?

0 投票
2 回答
1095 浏览

c# - 使用带有存储库模式的 GeoCoordinate 在 x 英里内获取结果

我想获取用户输入的位置 x 英里内的所有组织的列表。这将转换为长/纬度位置。

组织以long 和lat 存储在数据库中。

我正在使用带有实体框架的 MVC 和带有存储库模式的工作单元来访问数据集。

这是我的EntityRepository:

为了查询我的数据上下文中的数据,我为每个实体使用一个服务类,一个 UOW 被注入到每个服务中。对组织的服务要求是:

所有其他查询都按应有的方式工作,但是我没有尝试编写 GetOrgsByLocation() 方法。这是我认为我需要得到结果的查询:

当我尝试运行此查询时,我得到:

“无法将类型 system.device.location.geoCoordinate 隐式转换为 bool”

任何人都可以帮忙吗?

** 更新 - 工作解决方案 **

多亏了以下对此解决方案的帮助,尽管似乎必须查询所有对象才能使其正常工作,但似乎查询更适合在数据库上运行,我将不得不对此进行更多研究。

0 投票
0 回答
29 浏览

c# - ViewModel 具有 BaseModel 属性时创建子模型失败

我正在使用 WebAPI2,我有 2 个模型

在我的视图模型中,我使用Automapper将其转换为 ViewModel 我的第一个 CRUD 操作很好,因为 ViewModel 也与 Model1 相同。

对于我的第二个模型(Model2),以下是我的 ViewModel

我的代码如下;

我正在使用存储库模式,添加记录中的逻辑如下;

当我使用 Model2 的 post 方法时,出现类似 Model1 需要 Name 的错误。为什么Model1还试图创建。请帮我

注意:为简单起见,我直接在控制器代码中添加了我的 repo 调用。在实际代码中,它调用业务方法并从那里只调用 repo。

0 投票
0 回答
54 浏览

.net - 如何为两个或多个实体实现存储库模式

我正在尝试为 Web Api 项目实现存储库模式,并且在实现涉及两个或多个实体的存储库时感到困惑。处理这种情况的最佳方法是什么?

通用存储库:

学生资料库:

服务:

如果我想要 Student 和课程,那么我必须编写一个自定义存储库,它必须在通用存储库接口中实现所有 5 种方法。

如何实现这些方法?我可以为在自定义存储库中插入课程和学生编写查询,还是必须将其委托给各个存储库才能完成插入?

哪种方法最好?

0 投票
1 回答
383 浏览

model - 如何在存储库模式中设计模型类?

存储库模式是否必须为每个数据库表创建模型?或者我可以创建一个可以作为两个或多个数据库表的占位符的模型吗?

0 投票
3 回答
1676 浏览

double - 从 obiee rpd 中的 double 或 numeric 类型的值中删除十进制值

我正在研究 obiee 12c rpd。我在数据库中的物理表中有一个度量列,具有 bigint 数据类型。在 rpd 的物理层中,我选择了它的数据类型为 numeric,因为 int 数据类型对于我的值来说太小了。由于数字数据类型,它在我的值末尾添加了“.00”。我曾经在 BMM 层的表达式构建器中使用圆形函数删​​除它们,但它不起作用。我尝试了将物理层中的数字更改为双精度数据类型的步骤,但我得到了相同的结果,这意味着我在仪表板的末尾看到了带有 .00 的值。

现在我要删除 rpd 中的这些零。是否可以?我该怎么做?

谢谢