首页 > 代码库 > EF操作多数据库
EF操作多数据库
1.Account3_Register_DB_Model作为(空)模板库,根据此模板生成的其他数据除了数据库名称不一样,其他表,视图,字段等等都一致
2.Account3_Platform_Master数据库记录各个数据库的名称,连接该数据库的账号密码等基础信息
3.分别根据Account3_Register_DB_Model以及Account3_Platform_Master生成对应的数据库模型
4.将生成得到的Account3_Register_DB_Model.edmx展开并且打开Account3_Register_DB_ModelEntities可以看到
<style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #b4261a } span.s1 { color: #0433ff } span.s2 { color: #000000 }</style>public Account3_Register_DB_ModelEntities()
: base("name=Account3_Register_DB_ModelEntities")
{
}
构造方法没有任何参数,name=Account3_Register_DB_ModelEntities其实就是对应的app.config 的connectionStrings.(因为两个数据库模型,所以app.config会有
<style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #0433ff }</style>Account3_Platform_MasterEntities以及Account3_Register_DB_ModelEntities的连接数据库的基本信息
)
<style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; min-height: 11.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #33a2bd } span.s1 { color: #0433ff } span.s2 { color: #000000 }</style>
5.新建Account3_Register_DB_ModelEntities.cs类文件,对应的edmx同类名文件的构造方法,代码
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EFACCPCLib.DataAccess
{
public partial class Account3_Register_DB_ModelEntities : DbContext
{
public Account3_Register_DB_ModelEntities(string connectionString)
: base(connectionString)
{
this.Configuration.LazyLoadingEnabled = false;
}
}
}
connectionString:格式与app.config的类似。数据库名称账号密码可以通过master数据库获取,最终组装合适的连接字符串
<style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #33a2bd }</style> <style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #b4261a }</style> <style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #33a2bd }</style>
EF操作多数据库