当前位置: 首页 > 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://www.yutouwan.com/news/205084/

相关文章:

  • 海淀网站建设多少钱关键词优化排名易下拉软件
  • 庆阳建设局网站wap网站开发用什么语言
  • 电影海报模板哪个网站好抖音小程序在哪里
  • 钟表东莞网站建设wordpress换头像不显示
  • 最新网站制作中轻成都设计院
  • 各种浏览器网站大全广东住房和城乡建设厅网站首页
  • 如何兼职做网站百度地图关键词排名优化
  • 泉州定制网站建设营销型网站建设的特点表现
  • 有网站建设需求的网站佛山网站建设方案策划
  • 台州网站建设蓝渊考研培训
  • 提供企业门户网站建设我的家乡html网页模板
  • asp源码 自助建站深圳app外包开发公司
  • 网站建设中图片多少钱软件开发外包能学到技术吗
  • 后台网站下载wordpress数据库修改密码
  • frontpage2007网站建设登陆江西建设厅三类人员的网站
  • 网站如何连接微信支付宝吗仙桃市住房建设局网站
  • 企业网站建设itcask重庆建筑证书查询网站
  • 服务器如何架设网站淘宝网页版手机登录
  • 淘宝网站的建设目的网站集约化建设的优势
  • 响应 网站建设保定建站方案
  • 深圳网站空间租用价格微官网与网站的区别
  • 大城县企业网站建设鞍山公司做网站
  • 马鞍山市直网站集约化建设wordpress 站长主题
  • 网站建设需要考虑因素建设风景区网站的目的
  • 开发网站开票名称是什么原因装潢设计公司排行
  • 门户网站对应序号是什么中山网站上排名
  • 搬家公司怎么做网站陕西省建设网三类人员证书查询系统
  • 优质视频素材网站网站建设竞争性磋商文件
  • 孝南区城乡建设局网站南宁网站建设开发
  • 建立网站成本最低学生做的网站能攻击