PS:本来第一版发的在编辑器里面直接能截图 结果发现提交 之后图没了我勒个去,然后图的地方就用代码代替了 无奈,看起来比较乱了就
关于使用EF-CodeFirst中多数据库使用 以及 自定义字符串的使用 +连接字符串加密调用
度娘好久都没有发现有资料能直接解决这3个问题的文章
这里就把自己摸索的经验给大家分享一下
不多说直接上代码
ef-cf=EntityFrameWork Code First
1,常规ef-cf引用之后 生成的代码以及config配置 丢出来,怎么生成的这个就自己找 很多
我这里是一个数据库对应一个对应-都是常规的 最后多个数据到一个web里面
那么这个web里面的配置很简单 直接拷贝过来,然后在connectstrings里面add就好了 直接看代码
3个数据库的ef
2,ef-cf里面自定义字符串问题
首先 上面来说 他已经自动生成web配置文件了,从代码中该不好下手
下面是自动生成的数据库代理类
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
namespace Zemt.WorkflowCenter.DataBase
{
public partial class WorkflowCenterContext : DbContext
{
static WorkflowCenterContext()
{
Database.SetInitializer
}
public WorkflowCenterContext()
: base("Name=WorkflowCenterContext")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
}
}
}
当然之前木有看懂这个,所以觉得很难下手,最后看了资料 :base的意思 就是调用父类的构造函数,然后进去看base这函数的定义
[SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope")]
[SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public DbContext(string nameOrConnectionString);
发现base可以直接传连接字符串进去,2种模式 直接传字符串或者传配置节点 也就是这里的name
那么好说 改下就OK了
public ZemtProcessContext()
: base(CoreConfig.CoreConfigHelper.GetZemtProcessContextConnectString())
{
}
3,关于ef-cf中的配置文件加密
看了1,2功能之后,加密也很简单,直接用一个加密类把字符串加密 然后再解密就好了 直接上图
然后解密调用
public ZemtProcessContext()
: base(CoreConfig.CoreConfigHelper.GetZemtProcessContextConnectString())
{
}
以上就是摸索2天+的成功