Entity Framework

Entity Framework

ID:39548327

大小:376.00 KB

页数:46页

时间:2019-07-06

Entity Framework_第1页
Entity Framework_第2页
Entity Framework_第3页
Entity Framework_第4页
Entity Framework_第5页
资源描述:

《Entity Framework》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、EntityDataModel(EDM)深入分析,Part1EntityDataModel是.NETFrameworkv3.5SP1引入的新功能,比LinqToSQL更加强大的ORM,让开发人员只需要着眼于领域对象模型的开发,而不需要考虑它们是如何与关系数据库交互。本系列文章逐步深入介绍如下内容:EDMXSchema文件、ModelBrowser、映射关系、产生的实体类(Generatedentityclasses)、文档(Documentation)等等。  1.EDMXSchema文件  可以将EDMX作为XML文件打开,你会发

2、现该文件包含3个主要部分。ConceptualModels(CSDL)StorageModels(SSDL)Mapping(MSL)  一般情况下,你没有必要手动修改EDMX-XML文件。可视化的EDM设计器、MappingDetails窗口和ModelBrowser窗口包含有上述3个部分,并非常友好地显示整个EntityDataModel模型。  当你编译项目时,MSBuild将从EDMX文件提取CSDL/SSDL/MSL内容,并放置3个独立的XML文件到项目的输出目录。  2.ModelBrowser窗口  ModelBrows

3、er窗口以可视的树形图显示概念模型和存储模型。    3.Mappingdetails窗口  EDM设计器也提供了一个不错的MappingDetails窗口,包含2个视图。  MapEntitytoTables/View  这一视图显示了数据库中所有字段和相应实体中的属性,可以用来查看和编辑EDM的映射关系。  MapEntitytoFunctions  这一视图用来选择一个特定的存储过程来插入、更新或删除Entity实例。    4.生成的实体类(GeneratedEntityClasses)  除了上述的XMLSchema文件外

4、,EDM向导也生成了实体类。下一步仔细分析.Designer.cs文件中的实体类,并和LINQtoSQL中的类进行比较。  1)比较LINQtoSQLclass和EDMEntityObjectclass//LINQtoSQL[Table(Name="dbo.Employees")]publicpartialclassEmployee:INotifyPropertyChanging,INotifyPropertyChanged  EDM类则是以不同的attributes,并且总是继承EntityObject或ComplexObject

5、类。EntityObject类提供了变更跟踪和关系管理。//EntityDataModel[global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="NorthwindModel",Name="Employee")][global::System.Runtime.Serialization.DataContractAttribute()][global::System.Serializable()]publicpartialclassE

6、mployee:global::System.Data.Objects.DataClasses.EntityObject  2)比较LINQtoSQLentityconstructor和EDMCreatemethod//LINQtoSQLpublicEmployee(){this._Employees=newEntitySet(newAction(this.attach_Employees),newAction(this.detach_Employees));this._E

7、mployeeTerritories=newEntitySet(newAction(this.attach_EmployeeTerritories),  newAction(this.detach_EmployeeTerritories));this._Orders=newEntitySet(newAction(this.attach_Orders),newAction(this

8、.detach_Orders));this._Employee1=default(EntityRef);OnCreated();}  EDM没有生成上述LINQtoSQL的构造函数,而是创建了一个特定的Create

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。