我刚开始使用.NET数据存储,我对这么多不同的技术感到困惑.这是一个学习项目。你不需要继续阅读,我需要先提出一个建筑方案.到目前为止谢谢
My场景:
例如,可以存储和标记图像的本地应用程序。用户可以选择是否愿意
条件:
如您所见,许多操作和数据(传输)对象都是冗余的,无论操作是本地的还是基于web的。这是我利用这一事实的主要目标之一。我在寻找程序的舒适感:)
我感兴趣的:
云可以是一种选择,但我更喜欢wcf服务来访问数据(至少我认为我更喜欢这样:)
我看到的技术: XLinq,实体框架,hibernate,Linq到.,WCF数据服务,SQLite与Linq,web服务,实体SQL.什么鬼东西
我读了很多关于这个主题的文章,但是很难估计架构决策的结果。另外,其他的帖子也没有帮助我规划这个项目。
如果你能给我指明正确的方向,你就能为我创造一天。谢谢!
发布于 2010-10-30 10:57:25
您可能需要考虑服务器上的Server 2008和本地计算机上的Server紧凑型。每一种都是针对这种环境进行优化的,它们提供的数据存储和管理功能非常相似。从您的代码中抽象出访问机制,正如jasper所建议的,使用这对技术应该非常容易。
SQLServerCompact是一个嵌入式数据库引擎,它与应用程序一起运行在进程中,与它一起安装为“单个DLL",并且不需要单独安装数据库服务器。
无论如何,我完全同意jasper的观点,你应该把重点放在系统的架构和设计上,把技术看作是次要的东西。
发布于 2010-10-29 21:32:15
您的主要重点,海事组织,应该是抽象您的存储解决方案从您的存储机制。
确定您需要哪些方法SaveData,LoadData,GetSavedDataList,DeleteItem ...,然后创建一个接口IStorage。这样,您可以编写许多不同的解决方案,本地+二进制/远程+WCF,但将应用程序逻辑的核心与存储解决方案分离开来。您的核心逻辑不应该关心它从哪里保存/加载信息。
实际上,您使用什么存储解决方案,取决于您。每个人都有自己的优点和缺点,任何人都不可能给你一个100%正确的答案,这对你来说是最好的。在这一天的最后,你将完成3项主要的工作。本地存储数据,将数据传输到远程服务器,将数据存储在远程位置。
在本地存储它可能非常简单,比如为元数据保留一个XML文件,为图像保留一个二进制文件。您说您不想安装本地DB,这是一个DB引擎,还是任何DB解决方案,是否可以使用类似MsAccess/SQL等的东西,因为这样会使整个设计变得更好?
对于远程存储,您可以编写一个带有图像数据和标记等的传输对象的well服务,如果您使用良好的抽象/解耦设计代码,并且拥有webservice (服务器端),使用LINQ将数据持久化到数据库,那么本地系统就不必知道有什么不同。
有很多方法可以剥去这只猫的皮,毫无疑问,你会从SO社区的其他人那里得到很多其他的建议。
https://stackoverflow.com/questions/4055794
复制相似问题