首页 新闻 会员 周边

EntityFramework Core 怎么实现读写分离

0
悬赏园豆:10 [已解决问题] 解决于 2016-08-04 13:28

EntityFramework Core 怎么实现读写分离

之前用构造函数就可以实现,现在好像不行了,大牛们帮帮忙,谢谢!

痛快的主页 痛快 | 初学一级 | 园豆:71
提问于:2016-08-03 13:35
< >
分享
最佳答案
0

一样的还是构造函数来实现

using Microsoft.EntityFrameworkCore;

namespace WebEF.Models
{
    public class SContext : DbContext
    {
        public SContext(WriteAndRead writeRead)
            : base(SjContext.GetOptions(writeRead))
        {
            // TODO: #639
            //ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;
        }

        public DbSet<User> User { get; set; }
    }

    public class SjContext
    {
        public static DbContextOptions<SContext> GetOptions(WriteAndRead writeRead)
        {
            var optionsBuilder = new DbContextOptionsBuilder<SContext>();
            if (writeRead == WriteAndRead.Read)
            {
                optionsBuilder.UseSqlServer(@"server=.;uid=sar;pwd=111;database=xxx;");
            }
            else
            {
                optionsBuilder.UseSqlServer(@"server=.;uid=sa;pwd=111;database=xxxx;");
            }
            return optionsBuilder.Options;
        }
    }

    public enum WriteAndRead
    {
        Write,
        Read
    }

}

 

收获园豆:10
韩天伟 | 小虾三级 |园豆:697 | 2016-08-03 15:24
其他回答(1)
0

有没有考虑过用proxy 来处理? 借鉴mysql 的proxy处理方式

| 园豆:780 (小虾三级) | 2016-08-03 23:10

有实现或样例吗

支持(0) 反对(0) 痛快 | 园豆:71 (初学一级) | 2016-08-04 13:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册