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

wordpress版权声明seo实战培训王乃用

wordpress版权声明,seo实战培训王乃用,外贸原单,北京国际化品牌设计出于学习和测试的简单需要#xff0c;使用 Console 来作为 EF CORE 的承载程序是最合适不过的。今天笔者就将平时的几种使用方式总结成文#xff0c;以供参考#xff0c;同时也是给本人一个温故知新的机会。因为没有一个完整的脉络#xff0c;所以也只是想起什么写点什么使用 Console 来作为 EF CORE 的承载程序是最合适不过的。今天笔者就将平时的几种使用方式总结成文以供参考同时也是给本人一个温故知新的机会。因为没有一个完整的脉络所以也只是想起什么写点什么不通顺的地方还请多多谅解。 本文对象数据库默认为 VS 自带的 LocalDB 1. Normal Simple 先介绍一种最简单的构建方式人人都会。 新建 Console 应用程序命名自定安装相关Nuget 包 //Sql Server Database ProviderInstall-Package Microsoft.EntityFrameworkCore.SqlServer//提供熟悉的Add-MigrationUpdate-Database等Powershell命令不区分关系型数据库类型Install-Package Microsoft.EntityFrameworkCore.Tools 自定义 DbContext public class MyContext:DbContext{    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)    {optionsBuilder.UseSqlServer(Server(localdb)\\mssqllocaldb;DatabaseConsoleApp;Trusted_ConnectionTrue;MultipleActiveResultSetstrue;);} } 执行迁移和更新命令 Add-Migration InitializeUpdate-Database 使用方式 using (var context new MyContext()) {    // TODO} 刚以上我们便见识到了了一种最平常也是最简单的使用方式接下来让我们用其他方式去慢慢地改造它从而尽可能地接触更多的用法。 2. Level Up 2.1 准备工作 将第一步生成的数据库迁移文件和使用方式内容全部删除。 2.2 更新 MyContext 内容 删除 MyContext 中的 OnConfiguring 方法及其内容增加含有 DbContextOptions 类型参数的构造器我们的MyContext看起来应该是下面这个样子。 public class MyContext : DbContext{    public MyContext(DbContextOptions options) : base(options)    {} } 假如我们此时仍然再执行迁移命令VS将提示以下错误 No parameterless constructor was found on MyContext. Either add a parameterless constructor to MyContext or add an implementation of IDbContextFactory in the same assembly as MyContext. 添加无参构造器的方式之后再讲解先来按照提示信息添加一个 IDbContextFactory 的实现类。 public class MyContextFactory : IDbContextFactoryMyContext {    public MyContext Create(DbContextFactoryOptions options)    {var optionsBuilder new DbContextOptionsBuilderMyContext();optionsBuilder.UseSqlServer(Server(localdb)\\mssqllocaldb;DatabaseConsoleApp;Trusted_ConnectionTrue;MultipleActiveResultSetstrue;);            return new MyContext(optionsBuilder.Options);} } 之后再次运行迁移和更新数据库的命令也是水到渠成。 2.3 使用方式构造器实例化 既然 MyContext 含有 DbContextOptions 类型参数的构造器那就手动创建一个参数实例注入即可。 var contextOptionsBuilder new DbContextOptionsBuilderMyContext(); contextOptionsBuilder.UseSqlServer(Server(localdb)\\mssqllocaldb;DatabaseConsoleApp;Trusted_ConnectionTrue;MultipleActiveResultSetstrue;);// 注入配置选项using (var context new MyContext(contextOptionsBuilder.Options)) {    // TODO} 经此我们知道了迁移命令会检测 Context 的相关配置入口只有在满足存在 OnConfiguring 方法或者存在自建 IDbContextFactory 实现类的情况下命令才能成功运行。 3. Day Day Up 目前为止我们已经知道如何手动迁移和实例化 Context 的步骤了所以让我们更进一步。写过 ASP.NET CORE 的人可能知道在 ASP.NET CORE 中Context 常常以依赖注入的方式引入到我们的 Web 层Service 层或者 XXCore 层中话说笔者最近最喜欢的解决方案开发架构就是伪 DDD 的四层架构有空再介绍吧。其实在 Console 应用中这也可以很容易实现具体的依赖注入引入可以参考笔者的上一篇博客所以最终的代码效果如下 var serviceCollection new ServiceCollection(); serviceCollection.AddDbContextMyContext(c {    c.UseSqlServer(Server(localdb)\\mssqllocaldb;DatabaseConsoleApp;Trusted_ConnectionTrue;MultipleActiveResultSetstrue;); });var serviceProvider serviceCollection.BuildServiceProvider();using (var context serviceProvider.GetServiceMyContext()) {    //context.Database.Migrate();} 至此我们便基本完成了本文的主题唯一有些美中不足的是我们的数据库连接字符串好像到处都是这不是什么大问题笔者直接将 Configuration 的配置代码贴在下面这也是 ABP 中的方式。 public class AppConfigurations{    private static readonly ConcurrentDictionarystring, IConfigurationRoot ConfigurationCache;      static AppConfigurations()    {ConfigurationCache new ConcurrentDictionarystring, IConfigurationRoot();}    public static IConfigurationRoot Get(string environmentName null)    {        var cacheKey # environmentName;          return ConfigurationCache.GetOrAdd(cacheKey,_ BuildConfiguration(environmentName));}        private static IConfigurationRoot BuildConfiguration(string environmentName null)    {        var builder new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile(appsettings.json, true, true);           if (!string.IsNullOrWhiteSpace(environmentName))builder builder.AddJsonFile($appsettings.{environmentName}.json, true);builder builder.AddEnvironmentVariables();           return builder.Build();} } 这个工具类的使用方式就不再赘述了。 4. 结尾 最后想必会有人问为什么要折腾这样一个小小的 Console 应用呢其实通过这样一步步下来我们可以发现一些项目功能上的亮点比如既然可以自配置 DbContext 的 Option 选项同时我们也知道了如何在类库和 Console 项目中添加依赖注入以及 Configuration 提取链接参数的功能那针对三层架构或是 DDD 项目增加含真实数据库或是内存数据库InMemory的单元测试或者是自动Migrate Context 和更新数据库也将是十分简单的一件事至少看起来会比官方的示例更加真实和具有可操作性。而这部分内容笔者也将会在之后的博文中给出。 相关文章  Entity Framework Core 生成跟踪列在Apworks数据服务中使用基于Entity Framework Core的仓储Repository实现Entity Framework Core的贴心优雅处理带默认值的数据库字段Entity Framework Core 实现MySQL 的TimeStamp/RowVersion 并发控制Entity Framework Core 软删除与查询过滤器Entity Framework Core 命名约定全文索引 - Pomelo.EFCore.MySqlEntity Framework Core 批处理语句 原文地址http://www.cnblogs.com/Wddpct/p/7249670.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注
http://wiki.neutronadmin.com/news/205084/

相关文章:

  • 用rp怎样做网站精准信息预测
  • 辽宁建设工程质量监督站网站网站的排版好看
  • 东莞做网页建站公司国家工商官网查询
  • 有经验的做网站wordpress评论区插件
  • 做代码的网站深圳专业的网站制作公司
  • 海南做网站的公司logo制作app
  • 个人网站的制作方法个人营业执照网上申请入口官网
  • 开源 企业网站北京app开发定制公司
  • 试玩平台怎么做网站wordpress突然访问不了
  • 网站优化快速排名软件自动化培训机构排名
  • 深圳做二维码网站设计有哪些网站做二手房好的
  • 手机端网站html好看的单页模板wordpress分类目录下文章过多_添加文章目录导航
  • 深圳的网站建设公司 湖南岚鸿展馆设计费用取费标准
  • 做网站 广告收入iis更改默认网站
  • 东台网站建设服务商金融企业网站模板
  • 还有哪些行业可以做垂直网站合肥网站建设方案托管
  • 手机网站商城建设答辩问题做网站站长交加盟费
  • 网站内容协议如何创建自己公司的网站
  • 海口网站推广公司便利的响应式网站建设
  • 贴心的合肥网站建设做网站的封面图片哪里才有
  • 西安市做网站公司ue5培训机构哪家强
  • 合肥网站推广哪家好网站策划方法
  • 用jsp做网站的技术路线做的时间长的网站制作公司
  • 常州网站建设制作工作室深圳龙岗招聘网
  • 海南网站制做的公司网页下载链接怎么做
  • 06年可以做相册视频的网站电影网站开发开题报告
  • 宁夏吴忠网站建设中华建筑网官网
  • 广州达美网站建设网站开发 都包含什么语言
  • 找人做网站网站竞价推广账户竞价托管
  • qifeiye做的网站如何网站的设计 更新