Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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/8/logging/2.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
C# 是否有任何模式/框架可用于处理业务对象?_C#_.net - Fatal编程技术网

C# 是否有任何模式/框架可用于处理业务对象?

C# 是否有任何模式/框架可用于处理业务对象?,c#,.net,C#,.net,在过去的几年中,我一直在从事不同的项目,这些项目需要创建业务对象,用DB中的数据填充它们,并将它们显示在UI上,操作它们并将它们保存回数据库 有许多事情需要每次从头开始考虑和创建,这是业务对象实现IsDirty等的基类,以了解哪些对象已被更改以保存它们 另一个挑战是,如果用户对多行应用了多个更改,并希望同时保存所有更改。有时会删除一行,该行本身是不同记录的层次结构,因此需要进行级联,如果以错误的顺序删除该行,则会在找不到键的情况下使应用程序崩溃 同样重要的是,如果一条记录被两个不同的用户编辑,会

在过去的几年中,我一直在从事不同的项目,这些项目需要创建业务对象,用DB中的数据填充它们,并将它们显示在UI上,操作它们并将它们保存回数据库

有许多事情需要每次从头开始考虑和创建,这是业务对象实现IsDirty等的基类,以了解哪些对象已被更改以保存它们

另一个挑战是,如果用户对多行应用了多个更改,并希望同时保存所有更改。有时会删除一行,该行本身是不同记录的层次结构,因此需要进行级联,如果以错误的顺序删除该行,则会在找不到键的情况下使应用程序崩溃

同样重要的是,如果一条记录被两个不同的用户编辑,会发生什么,如何实现正确的时间戳方法等等

这些问题和其他许多问题一次又一次地发生着,我想知道是否有一个框架可以为这些问题提供一个指导方针,说明需要正确地做些什么来消除不好的意外情况和后期重构的需要。因为在你的设计中总有一些东西你可能会忘记

我的目标是.NET3.5和.NET4.0。 唯一的.NET4.0解决方案也很有兴趣了解


非常感谢,

实体框架可能对您有用。它可以从数据库自动生成业务对象,您也可以对其进行自定义。也可以实施变更跟踪


它相当适合后期的重新保理。如果您接受VisualStudio生成的默认映射,那么重新分解就根本不起作用。我们对XML文件进行了一些手动调整,这在下次从数据库更新模型时导致了一些问题。但是它仍然是可以管理的。

谢谢你的回复。我将在.NET4.0上尝试此功能。我想知道.NET3.5的最佳ORM是什么。需要做一些研究。