修改ASP.NET Core身份验证(个人用户账户)所依赖数据库为MySQL

VS 2019基架的ASP.NET Core身份验证(个人用户账户)默认使用MSSQL,笔者项目数据库采用MySQL 5.7,所以需要将ASP.NET Core身份验证所依赖数据库修改为MySQL。

笔者开发环境为:

  • ASP.NET Core 3.1.1
  • EF Core 3.1.1
  • Pomelo.EntityFrameworkCore.MySql 3.1.1

继续阅读“修改ASP.NET Core身份验证(个人用户账户)所依赖数据库为MySQL”

ASP.NET core 3.1中Method ‘get_Info’ in type ‘MySql.Data.EntityFrameworkCore.Infraestructure.MySQLOptionsExtension’…解决方案

问题

笔者在项目中迁移数据库时出现Method ‘get_Info’ in type ‘MySql.Data.EntityFrameworkCore.Infraestructure.MySQLOptionsExtension’ from assembly ‘MySql.Data.EntityFrameworkCore, Version=8.0.19.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d’ does not have an implementation.异常,导致数据库迁移失败。

继续阅读“ASP.NET core 3.1中Method ‘get_Info’ in type ‘MySql.Data.EntityFrameworkCore.Infraestructure.MySQLOptionsExtension’…解决方案”

Entity Framework Core 3.0 笔记

  1. 默认情况下,EF 将会将名为 ID 或 classnameID 的属性解析为主键。
  2. 如果导航属性可以具有多个实体 (如多对多或一对多关系),那么导航属性的类型必须是可以添加、 删除和更新条目的容器,如 ICollection<T>。 你可以指定 ICollection<T> 或实现该接口类型,如 List<T> 或 HashSet<T>。 如果指定 ICollection<T>,EF在默认情况下创建 HashSet<T> 集合。
  3. 如果一个属性名为 <navigation property name><primary key property name>,Entity Framework 就会将这个属性解析为外键属性(例如, Student 实体的主键是ID, Student 是Enrollment的导航属性所以Enrollment实体中 StudentID 会被解析为外键)。 此外还可以将需要解析为外键的属性命名为 <primary key property name> (例如,CourseID 由于 是Course 实体的主键,所以 CourseID 也被解析为外键)。
  4. 可以通过重写DbContext.OnModelCreating方法,自定义模型创建过程,例如指定表名。

ElasticSearch设置外网访问及问题解决

ElasticSearch版本:OSS 7.2.0 x86_64
操作系统版本:CentOS 7 1810 x86_64

使用RPM离线安装完成ElasticSearch后,仅能通过curl http://localhost:9200测试成功,实用IP地址curl http://192.168.1.2:9200则无法访问。随后修改elasticsearch.yml,修改参数中network.host: 0.0.0.0。

继续阅读“ElasticSearch设置外网访问及问题解决”

什么是UML用例中的前置条件、后置条件?

  • 前置条件( precondition):即用例的必须满足的条件。前置条件是另一个用例已经执行或用户具体有运行当前用例的权限。并不是每个用例都有前置条件。
  • 后置条件(postcondition):后置条件描述的是用例结束时的系统状态或持久数据(会影响到执行其他用例),并不是每个用例都有后置条件。

注:后置条件还有另外一种定义(国内网站上出现较多):该项是用例执行完后必须为真的条件,本质上两者一致。

什么是UML 构造型?

在 UML 模型中,构造型是用来指出其他模型元素的用途的模型元素。UML 提供了一组可以应用于模型元素的标准构造型。

可以使用构造型来精化模型元素的含义。例如,可以对工件应用 «library» 构造型以指示它是一个特定类型的工件。可以对使用关系应用 «call»、«create»、«instantiate»、«responsibility» 和 «send» 构造型,以准确指示一个模型元素如何使用另一个模型元素。还可以使用构造型来描述含义或用法不同于另一个模型元素的模型元素。

构造型可以具有称为标注定义的属性。将一个构造型应用于模型元素时,属性的值称为标注值。

本文摘自https://www.ibm.com/support/knowledgecenter/zh/SS5JSH_9.5.0/com.ibm.xtools.profiles.doc/topics/cconstrnt.html

Qt 5.11使用OCI连接Oracle 11g完全教程

因某项目需求,笔者将开发一个操作Oracle的Demo,经权衡后选择OCI用于连接Oracle。网络上存在大量Qt与OCI相关教程,但教程绝大多数步骤不清晰,方法不全面,无法有效的、快速的完成Qt使用OCI连接Oracle。故笔者从安装Oracle Client开始到Demo连接Oracle成功,每一步完全记录,以方便读者参考。

Oracle 调用接口 (OCI) 是最全面、性能最高、基于原生“C”语言的 Oracle 数据库接口,它可以提供 Oracle 数据库的全部功能——Oracle官网介绍

继续阅读“Qt 5.11使用OCI连接Oracle 11g完全教程”

Jenkins利用MSTest进行自动测试

0.为什么要利用Jenkins和MSTest进行自动测试

单元测试作为测试金字塔的最底层,其重要性不言而喻。但在项目实施过程因各种理由缺乏单元测试。利用Jenkins实现自动化测试,既可以保证项目代码得到有效测试,有可以解决项目时间消耗。

继续阅读“Jenkins利用MSTest进行自动测试”

安装Visual Studio 2017提示“未能安装包sql_adalsql”的解决方案

问题

安装VS2017(VS完整版本号15.1.61901.24070,操作系统Windows 7 SP1 x64),出现未能安装包“sql_adalsql,version=15.1.61901.24070,chip=x64,language=zh-CN”的异常,如下图所示:

VS Installer反馈错误为消息详细信息: 无法打开项 UNKNOWN\Components\213E053961B08514C8F94926954EDFBE\7AC11A000D649EA4A967B94454D29EBA。  请验证您是否具有足够的权限访问该项,或者与支持人员联系。

继续阅读“安装Visual Studio 2017提示“未能安装包sql_adalsql”的解决方案”