SQL Server数据库与.NET联通概述

此文章主要向大家讲述的是SQL Server数据库与.NET与Visual Studio的联通的介绍,随着SQL Server 2008数据库的的上市,微软另两款开发产品.NET Framework 3.5与Visual Studio 2008也同步发布中文版Service Pack 1。

包含传闻已久的微软ORM(Object Relational Mapping)解决方案──ADO.NET Entity Framework,而LINQ,随着SQL Server 2008的上市,微软另两款开发产品.NET Framework 3.5及Visual Studio 2008也同步发布中文版Service Pack 1,包含传闻已久的微软ORM(Object Relational Mapping)解决方案──ADO.NET Entity Framework,而LINQ(Language Integrated Query)也将增加支持存取Entity Framework对象的LINQ To Entities。

 

此外, ADO.NET Data Services也是新的,包含比SOAP(Simple Object Access Protocol)通讯协议更简单的REST(Representational State Transfer)存取模式,可满足倾向简单应用Web Services的Web开发者。

事实上,Visual Studio必须升级才能与SQL Server 2008无缝挂接,微软的.NET与SQL Server研发团队,有越来越紧密合作的趋势,操作SQL Server数据库***用的开发工具是Visual Studio,而.NET Framework目前支持最完整的数据库也是SQL Server数据库,可以看出微软企图利用彼此捆绑的策略,拉抬两者市场份额的野心。

而SQL Server 2008本身跟程序开发有关的部分,比较重要的改变是增加许多新的数据方式,包括FileStream及Geography、Geometry等空间数据格式。FileStream可以存放文件的Metadata,并指定存放文件的实体目录。而空间数据方式则包含许多函数,帮助开发者处理点/线/面的空间计算。

对象与关系型数据对应的解决方案

LINQ与ADO.NET Entity Framework在微软是由两个不同的团队研发,功能上看似有些重迭,但实际上是要解决现今程序开发上,所面临的不同问题。

LINQ提供统一操作各种数据集合的模式;而ADO.NET Entity Framework则是提供对象导向开发者,对象与关系型数据对应的解决方案。

相对于对象导向程序开发的思维,在发明SQL的年代,并没有对象导向的观念,所以SQL语法一点也不对象导向。而习惯用对象思考,并希望对象导向观念与关系型数据库可以平顺整合的开发者,会希望有一套ORM解决方案。

而ORM的目的,是企图帮助开发者从对象导向程序开发的角度,单纯地思考类别之间的继承及参照关系,而不需要知道实体的数据是如何分散在不同的数据表,以及对象背后对应哪些数据表,甚至SQL指令的组成,也交由平台处理。

ADO.NET Entity Framework就是微软的ORM解决方案,事实上,ORM在Java及PHP等阵营早有对应的解决方案,所以微软在这方面的脚步并不算是很快。

ORM的价值

 

ADO.NET Entity Framework中的“Entity(数据实体)”,是指对象化的数据记录。使用数据实体而不直接连接数据库的好处,在于开发者不必使用SQL指令,而是透过对象的方法(Method)存取数据库,藉以简化程序设计的复杂度,并提升程序代码重复使用的机会。

 

以客户数据为例,在数据库有Customer和Customer Detail两个数据表(Table),运用ADO.NET Entity Framework,可以把2个数据表对应(Mapping)成一个Customer数据实体,也就是对象类别,开发者只需呼叫Customer类别的Insert、Update和Delete等Method,并输入必要的参数,那么ADO.NET Entity Framework即自动产生对应的SQL语法,一对多地新增、修改及删除Customer和Customer Detail数据表中的数据。

对象与数据表的对应,除了一对多的情况,也可能是多对一甚至多对多的复杂对应。例如一个Employee数据表,在业务面因为属性不同,而拆成Manager、Employee和新人等3个不同的类别。

由于ORM需要对应SQL Server数据库与对象的关联,还要处理对象之间的继承关系,使得应用上存在一定的复杂度,因此,设计工具扮演的角色,相形之下变得重要,如果它无法使对应关系的设定,尽可能地简单而直觉,就会减损使用ORM的好处。

Visual Studio 2008升级至SP1之后,将提供可视化的精灵及操作工具,处理数据实体与数据库的对应。主要的功能包括透过实体数据模型(Entity Data Model)导入现有数据库的数据表,再以此为基础,设定数据表之间的关联,然后经由概念模型(Conceptual Model)处理数据表与数据实体两者的对应。

这些作法的背后,实际上底层是透过3个XML文件记录数据实体、数据库结构及两者之间的对应关系。不过,Visual Studio的操作界面,将透过图形化的设计工具简化对应的难度。

概念模型与ER Model不同

微软所谓的概念模型,与过去设计数据库架构常见的ER Model(Entity Relationship Model,实体关系模型)并不相同。

ER Model以图形化的方式,描述实体数据表之间的一对一、一对多或多对多关系,是属于实体的数据库模型。而概念模型则贴近系统分析阶段的思维,以业务的角度看待数据实体。

从这里也可以看出对象导向与SQL Server数据库设计理念的不同之处。

数据库设计时,为了避免同样的数据重复存在于多个数据表,造成空间的浪费及维护的困难,所以必须历经正规化过程。

例如员工基本数据包含亲属数据,但设计关系型数据库时为了正规化,亲属数据可能被拆出来,成为另一个数据表,而两者透过主键(Primary Key)和外部索引键(Foreign Key)建立一对多关系。

使用ER Model就会是两个数据表透过一对多关系连接,而进入概念模型之后,就对象导向的观点,将是以一个数据实体代表员工,其中会有一个属性是亲属数据的集合。而在概念模型的背后,是员工这个数据实体,一对多地对应到数据库的员工数据及亲属数据两个数据表。

 

 

 

【编辑推荐】

  1. SQL Server数据转换服务利用与导入式格式的描述
  2. SQL Server性能进行提高的4项技术概述
  3. 正确维护Sql Server表索引的2个步骤
  4. SQL Server数据库的N多注意事项
  5. SQL ServerCoalesce的大量使用的具体描述

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/230504.html<

(0)
运维的头像运维
上一篇2025-04-19 06:34
下一篇 2025-04-19 06:35

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注