当前位置: 首页 > news >正文

网站里面的图片做桌面不清晰度/百度seo关键词优化电话

网站里面的图片做桌面不清晰度,百度seo关键词优化电话,华为公司网站建设方案模板下载,织梦做响应式网站来源:追随微笑nblogs.com/kq123321/p/7002054.html最近因为项目需要,研究了下EF的读写分离,所以做了一个demo进行测试,下面是项目的结构表现层view主要提供Web、WebApi等表现层的解决方案公共层public主要提供项目公共类库&#x…

来源:追随微笑

nblogs.com/kq123321/p/7002054.html

最近因为项目需要,研究了下EF的读写分离,所以做了一个demo进行测试,下面是项目的结构

表现层view

主要提供Web、WebApi等表现层的解决方案

公共层public

主要提供项目公共类库,数据缓存基础方法等

实体层model

主要提供数据库映射模型,还有就是DDD领域操作模型

数据层Db

主要封装EF操作基础类

数据服务层Service

主要提供数据库操作服务、缓存操作服务

数据接口服务层inface

主要提供数据库操作服务接口、缓存操作服务接口

1、首先是多数据库的支持,目前就支持mysql/sqlservice,如果需要添加更多的数据库支持,只需要再数据库操作类型上面添加即可

///

/// 数据库类型

///

public enum DbContextType : byte

{

SqlService = 1,

MySql = 2

}

分别对mysql/sqlservice的上下文操作进行封装

///

/// MySql操作类

///

[DbConfigurationType(typeof(MySqlEFConfiguration))]

public class MySqlContext : DbContext

{

public DbSet TestEntities { get; set; }

///

/// 配置默认的字符串链接

///

public MySqlContext() : base("DefaultConnection") {

}

///

/// 自定义数据库链接

///

///

public MySqlContext(string connenction) : base(connenction) { }

///

/// 实体对应规则的映射配置

///

///

protected override void OnModelCreating(DbModelBuilder modelBuilder)

{

}

}

///

/// Sql数据库操作类

///

public class SqlServiceContext : DbContext

{

///

/// 配置默认的字符串链接

///

public SqlServiceContext() {

}

///

/// 自定义数据库链接

///

///

public SqlServiceContext(string connenction) : base(connenction) {

}

///

/// 实体对应规则的映射配置

///

///

protected override void OnModelCreating(DbModelBuilder modelBuilder)

{

}

}

在view调用时候,进行ef上下文初始化只需要设置类型

///

/// 数据库策略初始化类

///

public static class DBInitializer

{

public static DbContextType DbContextType { get; set; }

///

/// 数据库初始化策略配置

/// `

public static void Initialize(DbContextType ContextType)

{

string IsUsedWR = System.Configuration.ConfigurationManager.AppSettings["IsUsedWR"];

DbContextType = ContextType;

///获得数据库最后一个版本

//   Database.SetInitializer(new MigrateDatabaseToLatestVersion());

if (ContextType == DbContextType.SqlService)

{

Database.SetInitializer(new MigrateDatabaseToLatestVersion());

if (IsUsedWR == "1") {

Database.SetInitializer(new MigrateDatabaseToLatestVersion());

}

else

{

Database.SetInitializer(null);

}

}

else

{

Database.SetInitializer(new MigrateDatabaseToLatestVersion());

if (IsUsedWR == "1")

{

Database.SetInitializer(new MigrateDatabaseToLatestVersion());

}

else

{

Database.SetInitializer(null);

}

//Database.SetInitializer(null);

// Database.SetInitializer(null);

}

// Database.SetInitializer(null);

///删除原来数据库 重新创建数据库

//Database.SetInitializer(new DropCreateDatabaseIfModelChanges());

// Database.SetInitializer(new DropCreateDatabaseIfModelChanges());

}

}

public class MvcApplication : System.Web.HttpApplication

{

protected void Application_Start()

{

AreaRegistration.RegisterAllAreas();

FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);

RouteConfig.RegisterRoutes(RouteTable.Routes);

BundleConfig.RegisterBundles(BundleTable.Bundles);

//Autofac

//ContainerBuilder builder = new ContainerBuilder();

//builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly());

//IContainer container = builder.Build();

//DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

//Autofac初始化过程

ContainerBuilder builder = new ContainerBuilder();

builder.RegisterControllers(System.Reflection.Assembly.GetExecutingAssembly());//注册mvc容器的实现

var assemblys = BuildManager.GetReferencedAssemblies().Cast().ToList();

builder.RegisterAssemblyTypes(assemblys.ToArray()).Where(t => t.Name.Contains("Service")).AsImplementedInterfaces();

var container = builder.Build();

DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

//初始化数据库

DBInitializer.Initialize(DbContextType.MySql);

}

}

通过上面多数据库的支持已经完成,下面进行读写分离,分别进行继承上述上下文操作

///

/// 读

///

public class WriteSqlServiceContext : SqlServiceContext

{

public WriteSqlServiceContext() : base("") { }

}

///

/// 写

///

public class ReadSqlServiceContext : SqlServiceContext

{

public ReadSqlServiceContext() : base("") { }

}

通过工厂类进行初始化

///

/// 上下文工厂类

///

public static class Contextfactory

{

///

/// 获取上下文

///

///

public  static DbContext GetContext(DbOpertionType OpertionType)

{

DbContextType ContextType = DBInitializer.DbContextType;

if (ContextType == DbContextType.MySql)

{

if (OpertionType == DbOpertionType.Read)

return new ReadMySqlContext();

else

return new WriteMySqlContext();

}

else

{

if (OpertionType == DbOpertionType.Read)

return new ReadSqlServiceContext();

else

return new WriteSqlServiceContext();

}

}

///

/// 获取上下文操作

///

///

///

///

public static TEntity CallContext(DbOpertionType OpertionType) where TEntity: DbContext

{

var DbContext = GetContext(OpertionType);

return (TEntity)DbContext;

}

}

最后配置webcofig即可

最后进行测试

public class TestController : Controller

{

private ITestService _TestServiceDb { get; set; }

public TestController(ITestService TestServiceDb) {

_TestServiceDb = TestServiceDb;

}

// GET: Test

public ActionResult Index()

{

var result = _TestServiceDb.AddEntity(new Test() { ID=Guid.NewGuid(), Age=11, CreateTime=DateTime.Now, Name="Test" });

var NewResult = _TestServiceDb.GetEntityByID(result.ID);

return View();

}

}

搞定,可能在代码上有点累赘,但是总算是可行的。

看完本文有收获?请转发分享给更多人

关注「DotNet」,提升.Net技能

http://www.lbrq.cn/news/1066591.html

相关文章:

  • 刚注册在域名可以自己做网站吗/淘宝关键词查询
  • 鹿泉区城乡建设局网站/指数搜索
  • 提供网站建设报/优秀网页设计
  • 阿里云服务器做网站/网店网络推广方案
  • 网站商城建设/西安网红
  • 怎么做好网站推广/seo实战密码第四版pdf
  • 徐州做网站的公司招聘/seo关键词优化的技巧
  • 手机做车载mp3下载网站/黑帽seo寄生虫
  • 湘潭专业网站建设湘潭振企专业/互联网营销推广怎么做
  • 专业代做时时彩网站/百度网盘电话人工服务
  • 龙海市城乡规划建设局网站/营销方案范文
  • 上海模板网站/网络营销公司哪家可靠
  • qq是谁开发的/上海网站优化公司
  • python做网站安全性/黄金网站软件免费
  • 家居企业网站建设新闻/baidu百度
  • 企业网站怎么做两种语言/百度指数
  • 网页设计工资待遇/成都seo推广
  • 网站首图怎么做/线上营销模式
  • 中国自适应网站建设/网站加速器
  • 学做网站制作/seo搜索引擎工具
  • 做网站1000以下哪家好/吸引人的推广标题
  • 华为手机官方网站登录/天津百度seo代理
  • 商务网站建设评估的指标/百度手机应用市场
  • 百度网站 收录/免费舆情监测平台
  • 佛山手机网站建设优化/宣传推广
  • 开周边网站怎么做品牌/广告收益平台
  • 微信小商店开店流程/长沙seo就选智优营家
  • 做ppt好用的网站有哪些/阿里云自助建站
  • 东莞企业网站制作出售/小红书推广
  • 济南做网站优化公司/怎么自己创建网站
  • Linux中netstat详细使用指南
  • 超急评估:用提前计算分摊性能成本
  • 网关与路由器的区别
  • 第N个泰波那契数
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | TodoList(代办事项组件)
  • 使用 BERT 的 NSP 实现语义感知切片 —— 提升 RAG 系统的检索质量