从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~一 DBContext的构造方法,方法的重载

简介:

一 DBContext的构造方法,方法的重载

二 DBContext实例中,表实体对象是怎么被加入的

三 分部类是否破坏了单一职责

四 分部方法从另一方面定义了类型的操作规范

五 LINQ实体类中对属性的赋值,变化前与变化后SendPropertyChanging与SendPropertyChanged

六 LINQTOSQL中为我们触发了SendPropertyChanging和SendPropertyChanged,它的真正用意是什么

七 为DBContext对象应该作为其它实体操作类型的基类,并为它提供统一的提交动作 

当我们建立一个linq to sql的DBML文件后,我们可以打开它的代码文件,看一个IDE为我们自动生成的东西,这个系列的课程,主要是讲它的这个代码文件,今天简单说一下,DataContext类的构造方法:

image

它的构造方法如下:

public TESTDataContext() : 
            base(global::Entity.Properties.Settings.Default.testConnectionString, mappingSource)
    {
        OnCreated();
    }
    
    public TESTDataContext(string connection) : 
            base(connection, mappingSource)
    {
        OnCreated();
    }

第一个方法,主要是没有参数时调用,这时,它默认使用生成器创建的链接串,不提倡使用这样文件,移植不方便。第二个方法,带有一个连接字符串的,它可以在配置文件中去设置,在程序移植时,修改配置文件即可。大家可能已经注意在,在方法中有一个mappingSourc变量,它其实是模块与数据库映射的源对象,在DBML中有这样的定义

private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();
 

它是一个static 类型的MappingSource 的一个实体,就是说,它与实例无关,它只与当前DBContext相关,DBContext我们一般称为数据上下文。

MappingSource :表示映射信息的源
AttributeMappingSource:使用上下文中的属性创建映射模型的映射源
其中AttributeMappingSource是MappingSource的派生类,只负责一些特性信息的设置。

是数据库和LINQ的桥梁,除此之外,还可以使用XmlMappingSource创建模型。

本文转自博客园张占岭(仓储大叔)的博客,原文链接:从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~一 DBContext的构造方法,方法的重载,如需转载请自行联系原博主。

目录
相关文章
|
9月前
|
数据库连接 数据库 Windows
红皮书总结——ADO的七个对象
红皮书主要的核心内容就是ADO的七个“女朋友”,这七个“女朋友”主要包括三个独立的,和四个依靠独立的。
理解 Delphi 的类(二) - 初识类的方法
理解 Delphi 的类(二) - 初识类的方法
|
数据可视化
理解 Delphi 的类(三) - 初识类的属性
理解 Delphi 的类(三) - 初识类的属性
155 0
|
开发框架 .NET 中间件
小谈startup类ConfigureServices方法的作用
小谈startup类ConfigureServices方法的作用
255 0
小谈startup类ConfigureServices方法的作用
|
开发者
适配器类(便利类)的由来:当你自己写的类中想用某个接口中个别方法的时候(注意:不是所有的方法),肿么办?
有的时候需要将接口和抽象类配合起来使用,这样可以为开发者提供相当的便利性,开发者觉得哪个方便就选用哪个。这样的抽象类称为便利类。此时,便利类并不需要实现接口的所有方法,可以留给继承它的子类去实现它们。 抽象父类提供给子类一个方法,主要是起规范作用,你不写父类这个方法也行。
1044 0