问题标签 [business-objects]

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 投票
2 回答
217 浏览

.net - 相关业务对象中的外键

如果我有两个具有相关字段(外键 CountryId)的业务对象,当我显示员工类列表时,如何显示 CountryName 代替 CountryId?

0 投票
2 回答
3103 浏览

c# - C# CSLA 业务对象困境:只读 vs 读/写

我是一个团队的一员,负责将我们旧的 VB6 UI/COBOL 数据库应用程序改造成现代。在我被录用之前,我决定(主要是关于销售,我敢肯定)在数据库之前重做 UI。所以,现在我们使用 WPF 和 MVVM 取得了很好的效果,到目前为止效果非常好,尤其是使用 CSLA 作为我们的模型层。

但是,由于我们的开发与旧产品的下一个版本并行,我们受到了一些限制。我们无法对对 COBOL 数据库的调用进行任何更改(或最小更改)。到目前为止,这一切都很好,尽管如果您相信的话,可以追溯到 SQL Server 的辉煌岁月。

关于我们的 BO 设计,我遇到了一个特别令人讨厌的障碍,那就是处理列表中返回的“轻量级”业务对象及其“完整”对应项。让我尝试构建一个示例:

假设我们在数据库中有一个带有一堆字段的人员对象。当我们对该表进行搜索时,我们不会返回所有字段,因此我们用这些填充我们的 lite 对象。这些字段可能是也可能不是完整人员的子集。我们可能已经进行了一两次连接以检索特定于搜索的其他一些信息。但是,如果我们想编辑我们的 person 对象,我们必须再次调用以获取完整版本来填充 UI。这给我们留下了两个对象,并试图在 1 个 VM 中处理它们的状态,同时试图在删除、编辑和添加之后保持人员列表在它所在的任何父对象上保持同步。最初,我让我们的 lite person 对象派生自 ReadOnlyBase<>。但是现在我正在处理与完整 BO 列表相同的列表行为,除了半满,半精简,

有没有其他人遇到过并找到解决方案?睡在上面之后,我想出了这个潜在的解决方案。如果我们将完整版和精简版的 BO 包装在另一个 BO 中会怎样,如下所示:

显然,一切都是 CSLA 注册的属性等,但为了简洁起见,它们是那里的字段。在这种情况下, Person 和 PersonList 将包含所有工厂方法。在搜索操作之后,PersonList 将由 PersonLite 成员全部填充且 PersonFull 对象全部为空的 Person 对象填充。如果我们需要获得完整版本,我们只需告诉 Person 对象这样做,现在我们有了 PersonFull 对象,因此我们可以填充编辑 UI。如果要删除 Person 对象,我们可以使用适当的 CSLA 删​​除程序轻松地执行此操作,同时仍然在所有正在侦听它的 VM 中保持列表的完整性。

所以,我希望这对每个人都有意义,如果有人有不同的解决方案,他们一定会成功采用或批评这个解决方案!

谢谢!

(转自: http ://forums.lhotka.net/forums/thread/35576.aspx )

0 投票
3 回答
2265 浏览

.net - C# 和 .net 的业务对象框架

是否有任何其他可用的开源 BusinessObjects 框架,例如用于 C# 的 CSLA?

0 投票
2 回答
776 浏览

.net - 如何将数据绑定到用户定义类型的下拉列表?

我有一个包含星期几的下拉列表 - 星期一到星期日。它填充了用户定义的两个值类型,将一周中的数字日期映射到它的名称。

我要绑定的对象有一个整数属性 DayOfWeek,我想将下拉列表中选定项的 ID 值绑定到对象的 DayOfWeek 属性。例如。用户选择星期四,将 ID 4 传递给对象。

在代码中,我可以检索 SelectedItem 的 UDT,但无法确定要绑定到组合框上的哪个属性。

  1. 如果我将 UDT 直接添加到下拉列表的 Items 集合中,则 SelectedValue 为 Nothing。
  2. 如果我将 UDT 添加到 List(Of UDT) 集合并将其设置为下拉列表的数据源,并将 ValueMember 设置为 ID 并将 DisplayMember 设置为 Text,则 SelectedValue 返回整个 UDT,而不是 ValueMember 属性中指示的 ID。

数据绑定似乎对纯文本框非常有效,但在处理更复杂的控件时似乎变得更加棘手。

更新:我正在寻找的是 Binding 语句。例如。两者都不...

...有效。第一个被忽略(可能是因为 SelectedItem 属性为 Nothing),第二个因“无法绑定...”错误而失败。

0 投票
2 回答
622 浏览

c# - 如何与 Windows 应用程序 c# 上的服务器(BO Infoview)上的业务对象实例对话

我们的服务器上有 BO Infoview 运行。我想从 C# 中的本地 Windows 应用程序建立到它的连接。我们有任何用于 BO infoview 的 API 吗?

请帮忙....

0 投票
7 回答
13755 浏览

web-services - UI、业务逻辑层、数据层以及放置 Web 服务的位置

我们正在开发一个网络应用程序。我们希望可能将我们在这里所做的工作重用于将使用相同数据库的不同应用程序,并使用相同的业务规则来读取和写入所述数据库。

哪种设计更正确

  1. 让 UI 调用 Web 服务,该服务将使用包含业务逻辑的业务对象,该业务对象将与数据访问层对话。

  2. 让 UI 使用包含业务逻辑的业务对象,这将调用 Web 服务,然后与数据访问层对话。

  3. 让 UI 用户业务对象包含业务逻辑,这将与数据访问层对话。

0 投票
6 回答
1980 浏览

c# - 如何处理我的业务对象中的空值

假设我有一个像这样的自定义类:

我使用数据读取器从数据库创建自定义对象。前任:

ParentID 在数据库中可以为空(我无法更改)。当它为空时,转换显然会失败。

我应该如何处理从数据库中检索到的空值来填充我的业务对象?在我的自定义类中使用 Nullable 类型会是一种很好的做法吗?还有其他提示吗?

0 投票
4 回答
5452 浏览

migration - 在环境之间迁移 BO 报告

我们有开发、测试和生产的标准 3 环境设置。每个环境都有自己的报表服务器、Web 服务器、数据库服务器等。

我们迁移的一部分是在服务器之间移动我们的业务对象 (xi r2) 报告,但现在我们需要手动更新每个报告的连接设置。现在有 40 多份报告,这有点痛苦,随着我们的继续,这将成为一场噩梦。

由于我们生成报告的方式,我们无法在生成报告时动态更改连接字符串。我们使用存储过程而不是 Universe,因为这是团队最熟悉的。

任何建议将不胜感激。

0 投票
3 回答
934 浏览

c# - 我们可以使用扩展方法来构建业务规则引擎吗?

我想做这样的事情

然后在客户端代码中将其用作

或者

只是想在我深入潜水并淹死之前问一下。

这种方法有什么潜在的陷阱???

提前致谢

0 投票
2 回答
1182 浏览

.net - 数据对象中的业务逻辑与耦合与 DTO(与?)

我有一组将在内部公共 API 中公开的业务/域类(用于日历)。在同一个 API 中,存在直接反映底层数据库结构的数据对象(NHibernate 映射,但这并不重要)。

我需要做的是构建这些对象的类型化集合,因此日历上的每一天都可以包含一组来自数据库的约会、提醒等。

一种解决方案是使用域模型中的标记接口“标记”每个数据对象:

但是后来我将业务/域模型的东西放入我的数据模型中。

另一种解决方案是将数据模型类包装如下,并在日历 API 中公开/使用它们:

但这引入了非常明显的耦合。

第三种解决方案是使用 DTO,但我需要在 DTO 中公开数据对象中的每个字段......所以首先创建 DTO 似乎没有意义。

这里哪个是最好的选择,还是有更好的选择?

这是一个 .NET 2.0 项目,如果有区别的话。