我正在开发一个有时连接的CRUD应用程序,该应用程序主要由社会工作者和护士团队(2-4)用于以计划的形式跟踪患者信息。该应用程序是在我的时间之前创建的ASP.Net应用程序的可视化。 4个数据库中大约有200个表。 Web App版本很大程度上依赖于SP,但由于这个版本是一个winform应用程序,它将指向本地数据库,我认为没有理由继续使用SP。另外值得注意的是,我曾计划使用Merge Replication来处理Sync'ing部分,这两者似乎存在一些问题。
我试图了解DAL使用什么方法。我原本打算使用LINQ to SQL,但我已经阅读了一些说明它在有时连接的设置中不起作用的花絮。因此,我一直在尝试阅读和试验各种解决方案; SubSonic,NHibernate,实体框架。这是一个相对简单的应用程序,并且由于“迫在眉睫”的版本3重新设计,这种努力可能是临时性的“一次性”。这里的重点是尽快启动和运行桌面版本。
我在这里要求的是任何有经验的人使用这些技术中的任何一种(或者我没有列出的那种技术)来借给我你辛苦赚来的智慧。在您看来,对我来说,最好的方法是什么?有关创建此类应用程序的任何其他见解?我真的很挣这个计划的DAL部分。
谢谢!
答案 0 :(得分:1)
如果存储过程按照你的意愿行事,我不得不说我怀疑你会把它们扔掉并重新实现它们。此外,在将数据复制回主数据库时,如果使用存储过程或LINQ to SQL样式数据访问,则无关紧要,因此担心您使用哪个DAL似乎是一个红色的鲱鱼。
有时连接应用程序的棘手部分是提出一个良好的冲突解决系统。我的建议:
这些都不会影响您的数据访问层:这些都是低级别(合并复制,由数据库本身提供)或更高级别(冲突解决,由您的业务规则提供解决方案)而不是您的DAL
答案 1 :(得分:0)
如果您可以在本地安装数据库系统,请选择您熟悉的内容。我认为最大的问题是同步和合并部分。您必须考虑几种可能性:更改了其他人在服务器上删除的内容。谁决定?
我自己从未使用过Sync框架,只是阅读了一篇文章。但这可能会为你奠定坚实的基础。但是,只要你采用数据访问的方式,businesslogic的解决方案可能会产生更广泛的影响......
答案 2 :(得分:0)
有一个名为issueVision的示例应用程序,微软于2004年推出 http://windowsclient.net/downloads/folders/starterkits/entry1268.aspx
在joelonsoftware.com上的旧线程上找到链接。 http://discuss.joelonsoftware.com/default.asp?joel.3.25830.10
其他想法......
移动宽带怎么样?一些3G手机卡明天可以使用,你的应用程序不需要大页面/图形的更改。
该字段中使用的Excel电子表格。 DTS或SSIS将数据导入应用程序。虽然创造了“更好”的解决方案。
祝你好运!答案 3 :(得分:0)
如果SP是你的意思是存储过程...我不确定我理解你的理由是试图摆脱它们。考虑到它们是快速的,经过验证的,并且已经为您编写(即经过测试)。
当然,如果你正在创建一个模仿原作的应用程序,那么尽可能多地保留原始(工作)代码库有一定的优点 - 其中最重要的是速度。
我尝试安装数据库的本地副本,然后将所有受影响的记录从上次连接的时间段推送到主数据库,当它连接时。