转载

EntityFramework 中的链接研究初探

很多人用EF的默认链接工厂:System.Data.Entity.Infrastructure.LocalDbConnectionFactory

然后我一开始就不习惯,然后研究了一下,截图如下

EntityFramework 中的链接研究初探

EntityFramework 中的链接研究初探

EntityFramework 中的链接研究初探

EntityFramework 中的链接研究初探

然后就是

public System.Data.Common.DbConnection CreateConnection(string nameOrConnectionString)System.Data.Entity.Infrastructure.LocalDbConnectionFactory 的成员

摘要:基于给定的数据库名称或连接字符串为 SQL Server LocalDb 创建连接。如果给定的字符串包含“=”字符,则将其视为一个完整的连接字符串,否则仅将其视为数据库名称。

参数:nameOrConnectionString: 数据库名称或连接字符串。

返回值:已初始化的 DbConnection。

这也是 EntityFramework 中的链接研究初探 为什么可以用【name=数据库链接名】的意思。

很多人基本都在用Model frist和db frist时用自己命名的实体Dbcontext名

接着是

SqlConnectionFactory中成员BaseConnectionString

public string BaseConnectionString { get; }System.Data.Entity.Infrastructure.SqlConnectionFactory 的成员

摘要:要用于“初始目录”之外的数据库的选项的连接字符串。在调用 CreateConnection 时,将基于数据库名称在此字符串前预置“初始目录”。默认值为“Data Source=./SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True”。

返回值:连接字符串。

LocalDbConnectionFactory中的成员BaseConnectionString

public string BaseConnectionString { get; }System.Data.Entity.Infrastructure.LocalDbConnectionFactory 的成员

摘要:用于“初始目录”、“数据源”和“AttachDbFilename”之外的数据库选项的连接字符串。调用 CreateConnection 时,将基于数据库名称在此字符串前添加“初始目录”和“AttachDbFilename”。将基于 LocalDbVersion 参数设置“数据源”。默认值为“Integrated Security=True; MultipleActiveResultSets=True;”。

两者的默认值都是不一样的。

EntityFramework 中的链接研究初探 我用的EF4.4版本,发现链接工厂有三个, SqlConnectionFactory, LocalDbConnectionFactory,SqlCeConnection Factory。最后一个是针对小型数据库SqlCE,Access等。

正文到此结束
Loading...