首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ASP.NET MVC端保存结构化数据

如何在ASP.NET MVC端保存结构化数据
EN

Stack Overflow用户
提问于 2014-10-16 18:51:05
回答 1查看 813关注 0票数 0

在我们的项目中,我们有一些实体,比如类别和基本信息: ID、名称、描述等。都保存在DB中。但在MVC方面,每个类别都可能有一些前端特定的属性: css类名、徽标URL等。我们还支持本地化,因此每个地区都有不同的类别集。目前,所有前端特定的内容都保存在MVC端的JSON文件中,其结构如下:

  • en
    • category1
      • css类名
      • 徽标URL

代码语言:javascript
复制
- category2 
    - css class name
    - logo URL

  • de
    • category3
      • css类名
      • 徽标URL

代码语言:javascript
复制
- category4 
    - css class name
    - logo URL

而且它有少量的数据,但是随着添加新的地区和类别属性,它变得更大了,所以现在很难支持它。

我认为在MVC方面可能存在一些存储结构化信息的机制。它的存储方式并不重要,但应该允许:

  • 容易存取
  • 易于管理(添加/删除/编辑)
EN

回答 1

Stack Overflow用户

发布于 2014-10-17 05:29:48

要回答您的问题:我不认为ASP.NET MVC为此提供了一个概念。

然而,根据我的理解,您是在问一个通用的应用程序设计问题:我可以在哪里存储我的UI特定信息?由于您不想将其与实际数据(我理解的)混为一谈,所以您需要将其存储在其他地方。这是事实。;)

我认为有不同的方法、如何和地点保存这些信息,每种方法各有优缺点:

文本文件(JSON,XML等)

Pros:

  • 几乎没有执行工作
  • “容易”访问(见cons)
  • 模式更改后很容易调整

Cons:

  • 您需要对服务器进行物理访问,或者至少有机会将其上载到服务器。取决于您的环境,您可能没有此功能。
  • 可能会变得很混乱(这就是为什么你要纠正这个职位,对吧?)
  • 容易出错(我的意思是,您对文本文件有什么验证?)

数据库(现有数据库或包含GUI/应用程序相关信息的新数据库)

Pros:

  • 干净和结构化的模式(您正在尝试保存您说过的结构化数据)
  • 所有数据都在数据库中(不是在for服务器的硬盘上),这使得迁移、更新等更容易。
  • 听起来比编辑文本文件要好,但这是我个人的看法

Cons:

  • 很高的实现工作量(您需要创建表单来添加、编辑和删除项,等等--除非您想手动地将数据添加到数据库中?)

字符串资源(resx)

这是一个合适的位置,因为您存储的是依赖于语言的信息,而且显然可以在生产过程中进行更改,而无需重新编译,这取决于您的项目结构:Editing resource files without recompiling ASP.NET application

很难说出你想要和需要什么,因为它也取决于你公司的政策等等。另一个因素是,这些数据多久变化一次,谁应该能够改变它?当你谈论CSS类和URL时,听起来像是一个技术人员做的事情,但你永远不知道..

我想我会选择一个包含GUI相关内容的数据库。如果不能将其与实际的应用程序数据混合,为什么不为前端创建一个包含显式数据的新数据?也许会有或者已经有比你所指的信息更多的信息,这些信息可能也会出现在那里。

如果没有数据库选项,我将创建一个可序列化(缓存和Singleton)类,其中包含所需的结构,然后将XML/JSON存储在文件系统中。如果您有时间,您甚至可以创建一个UI来编辑这个类/文件。我的意思是,如果技术人员正在编辑这个,那就不需要什么花哨了..

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26411758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档