Entity Framework(一) 映射

  ADO.NET Entity Framework通过Modeel First和DataBase First,提供了几个把数据库表映射到对象上的曾。通过Database First,可以从一个数据库架构开始,使用Visual Studio 项模版创建完整映射。还可以先用设计器(Model First)设计实体类,再把它映射到数据库上,在该数据库中,表和表之间的关系可以有完全不同的结构。

需要定义的层如下:

  1、逻辑层--该层定义关系数据

  2、概念层--该层定义.NET类

  3、映射层--该层定义从.NET类到关系表和关系的映射。

Entity Framework(一) 映射_第1张图片

(1)逻辑层--逻辑层由SSDL(存储架构定义语言定义,描述数据库表及其关系的结构。)

 
     
       
         
         
         
       
       
         
           
         
         
         
         
         
         
         
         
         
       
       
         
           
         
         
         
         
         
       
       
         
           
         
         
         
         
       
     
   

(2)概念层(定义.NET类)该层用CSDL--概念架构定义语言定义。


     
       
         
         
         
       
       
         
           
         
         
         
         
         
         
         
         
         
       
       
         
           
         
         
         
         
         
       
       
         
           
         
         
         
         
       
     
   

(3)映射层(映射层使用MSL--映射规范语言 把CSDL中的实体类型定义映射到SSDL中)


     
       
         
           
             
               
               
               
               
               
               
               
               
             
           
         
         
           
             
               
               
               
               
             
           
         
         
           
             
               
               
               
             
           
         
       
     
   

  用设计器和CSDL创建的实体类一般派生自基类EntityObject。

  例如Users类派生自基类EntityObject,并为其数据定义属性,如UserName。这些属性的set访问器以两种不同的方式触发信息的改变:

  一种方式是调用EntityObject基类的ReportPropertyChanging()和ReportPropertyChanged()方法。调用这些方法会使用INotifyProperty Changing和INotifyPropertyChanged接口,以通知每个客户端用这些接口的事件来注册。

  另一种方式使用用部分方法,如OnTitleChanging()和OnTitleChanged()。他们默认没有实现方式,但可以在这个类的自定义扩展中实现他们。

 

  

你可能感兴趣的:(Entity Framework(一) 映射)