entity

ASP.NET Core 2.0 MVC项目实战

一个人想着一个人 提交于 2020-09-28 13:50:17
一、前言 毕业后入职现在的公司快有一个月了,公司主要的产品用的是C/S架构,再加上自己现在还在学习维护很老的delphi项目,还是有很多不情愿的。之前实习时主要是做.NET的B/S架构的项目,主要还是用的那种传统的开发模式,只有一个项目用到了Web API,自己负责后端的接口功能实现。既然现在没办法改变现状,那就先改变自己吧。定了个计划,下班后慢慢的开始学习ASP.NET Core Web API和Vue,准备从前端到后端自己写一个小项目玩玩,毕竟代码这个东西,时间长了是会忘的。 嗯,有点扯远了。这个MVC项目是我的毕业设计,虽然写的比较烂,而且当时为了赶紧写完,代码的冗余程度有点高,但还是希望能给一些准备入门ASP.NET Core MVC的童鞋提供些借鉴吧。代码我放到Github上了,源码地址 https://github.com/Lanesra712/Danvic.PSU ,欢迎大神们拍砖,指出不足处。 二、项目介绍 毕业论文的课题是一个大学生的一个报名系统,主要是为了完成大学生报名过程中的一些数据维护,当然最后因为实在来不及了,好多都没做。。。项目主要使用到的相关技术如下所示: 项目框架:ASP.NET Core 2.0 MVC ORM:Entity Framework Core(使用Code First) 数据库引擎:MySQL SERVER 5.7 权限验证

EntityFramework Core使用原生SQL语句,执行存储过程和视图

牧云@^-^@ 提交于 2020-09-27 17:05:18
参考资料: 微软MVP杨旭教程: https://www.bilibili.com/video/BV1xa4y1v7rR?p=10 创建视图和存储过程 无主键的Entity 原生SQL查询 原生SQL查询的要求 字符串插值 执行非查询类SQL 在EF Core项目中,如果想在数据库中添加视图或者存储过程或者类似的东西,不可以直接操作数据库,而应该把生成视图或生成存储过程的脚本放在一个Migration里面,让它来执行生成视图或者创建存储过程。 创建视图和存储过程 直接Add一个空的Migration,然后再修改Migration的代码。空的Migration: public partial class AddView : Migration { protected override void Up(MigrationBuilder migrationBuilder) { } protected override void Down(MigrationBuilder migrationBuilder) { } } 然后使用 migrationBuilder.Sql() ,把SQL脚本用 @"xxxx" 包裹起来当作参数放进去。创建视图和存储过程的脚本都应该放在Up方法中,先创建视图再创建存储过程: protected override void Up(MigrationBuilder

B/S WebUploader 分片上传

守給你的承諾、 提交于 2020-08-20 07:12:04
一、概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用到Range和Content-Range实体头。HTTP协议本身不支持断点上传,需要自己实现。 二、Range 用于请求头中,指定第一个字节的位置和最后一个字节的位置,一般格式: Range:用于客户端到服务端的请求,可以通过改字段指定下载文件的某一段大小及其单位,字节偏移从0开始。典型格式: Ranges: (unit=first byte pos)-[last byte pos] Ranges: bytes=4000- 下载从第4000字节开始到文件结束部分 Ranges: bytes=0~N 下载第0-N字节范围的内容 Ranges: bytes=M-N 下载第M-N字节范围的内容 Ranges: bytes=-N 下载最后N字节内容 1.以下几点需要注意: (1)这个数据区间是个闭合区间,起始值是0,所以“Range: bytes=0-1”这样一个请求实际上是在请求开头的2个字节。 (2)“Range: bytes=-200”,它不是表示请求文件开始位置的201个字节,而是表示要请求文件结尾处的200个字节。 (3)如果last byte pos小于first byte pos

《命名实体识别 NER 论文综述:那些年,我们一起追过的却仍未知道的花名 (一)》,2020-05,龚俊民(昵称: 除夕)

我是研究僧i 提交于 2020-08-20 07:06:02
原文链接: https://mp.weixin.qq.com/s/rf17rA0tBkD9elqF8nHhaw 本文介绍了NER的难点以及相应的解决方案,人机对话系统中的槽位标注也是NER任务,介绍的一些方法还是很有指导意义的。 难点1: 如何命名“命名实体” 何晗在《自然语言处理入门》一书中的总结如下: 数量无穷。比如宇宙中恒星名称、生物界中的蛋白质名称,即便是人名,也是会随着新生儿的命名不断出现新的组合。 构词灵活。比如中国工商银行,既可以称为工商银行,也可以简称为工行。一些机构名甚至存在嵌套现象,比如“联合国销毁伊拉克大规模杀伤性武器特别委员会”内部就嵌套了地名和另一个机构名。 类别模糊。一些命名实体之间的区别比较模糊,比如地名和机构名。有一些地名本身也是机构,比如“国家博物馆”,从地址角度来看属于地名,但从博物馆工作人员来看则是一个机构。 难点2: 实体的无穷 实体命名识别要面对的是排列组合可能无穷的词表。模型对 OOV 的泛化能力远低于我们的预期,所以通常做法是以统计为主,规则词典为辅。 关于基于规则和词典的方法,何晗在《自然语言处理入门》一书中将适于这种方法的实体分为两类 对于结构性较强的命名实体,比如网址、E-mail、ISBN、商品编号,电话,网址,日期,淘宝或拼多多口令等,都可以用正则表达式来处理。 对于较短的命名实体,如人名,完全可以用分词方法去确定边界

mybatis异常集之Cannot determine value type from string 'xxx'

a 夏天 提交于 2020-08-20 06:05:17
前言 本文的创作来源于朋友在自学mybatis遇到的问题,问题如文章标题所示Cannot determine value type from string 'xxx'。他在网上搜索出来的答案基本上都是加上一个无参构造器,就可以解决问题。他的疑问点在于他实体没有使用无参构造器,而使用了有参构造器,有的查询方法不会报错,有的查询方法却报错了。下面将演示他出现的这种场景的示例。 注: mybatis的搭建过程忽略,仅演示案例。案例代码取自朋友 示例 1、entity public class Student { private int id; private String name; private String email; private int age; public Student(String aa,int bb){ System.out.println("===============执行student的有参数构造方法 aa = "+aa+" bb = "+bb+"================"); } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void

Asp.net core下利用EF core实现从数据实现多租户(2) : 按表分离

╄→гoц情女王★ 提交于 2020-08-20 05:29:56
前言 在 上一篇 文章中,我们介绍了如何根据不同的租户进行数据分离,分离的办法是一个租户一个数据库。 也提到了这种模式还是相对比较重,所以本文会介绍一种更加普遍使用的办法: 按表分离租户。 这样做的好处是什么: 在目前的to B的系统中,其实往往会有一个Master数据库,里面使用的是系统中主要的数据,各个租户的数据,往往只是对应的订单、配置、客户信息。 这就造成了,租户的数据不会有很多的种类,他的数据表的数量相对Master来说还是比较少的。 所以在单一租户数据量没有十分庞大的时候,就没有必要对单一租户数据独立到单一数据库。多个租户数据共享使用一个数库是一个折中的选择。 下图就是对应的数据表结构,其中store1和store2使用不同的数据表,但有同一个表名后缀和相同结构。 实施 项目介绍 本文的项目还是沿用上一篇文章的代码,进行加以修改。所以项目中的依赖项还是那些。 但由于代码中有很多命名不好的地方我进行了修改。并且,由于代码结构太简单,对这个示例实现起来不好,进行了少量的结构优化。 项目中新增的对象有什么: 1. ModelCacheKeyFactory,这个是EF core提供的对象,主要是要来产生ModelCacheKey 2. ModelCacheKey, 这个跟ModelCacheKeyFactory是一对的,如果需要自定义的话一般要同时实现他们俩 3.

webots Controller Plugin

落爺英雄遲暮 提交于 2020-08-20 01:11:42
Controller Plugin The controller functionality can be extended with user-implemented plugins. The purpose of a controller plugin is to ease the programming of robot-specific robot windows and remote-control wrappers. Programming controller plugins rather than programming directly in the controller is more convenient because it increases considerably the modularity and the scalability of the code. For example a robot window can be used for several robots. Index Fundamentals Robot Window Remote-Control Plugin Fundamentals Whatever its language, a controller executable is linked with the Webots

Sharding-JDBC 快速入门第一课

半腔热情 提交于 2020-08-20 01:08:38
1. 概述 ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、云原生等各种多样化的应用场景。 ShardingSphere定位为关系型数据库中间件,旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力。 1.1. ShardingSphere-JDBC Sharding-JDBC 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。 适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template 或直接使用 JDBC。 支持任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid, HikariCP 等。 支持任意实现JDBC规范的数据库。目前支持 MySQL,Oracle,SQLServer,PostgreSQL 以及任何遵循 SQL92 标准的数据库。 1

Spring Boot1学习之初识Spring Boot

若如初见. 提交于 2020-08-19 21:55:48
Spring Boot Spring Boot 是一个快速开发框架,可以迅速搭建出一套基于Spring框架体系的应用,是Spring Cloud的基础,Spring Boot开启了各种自动装配,从而简化了代码的开发,不需要编写各种配置文件,只要引入相关依赖就可以迅速搭建一个应用。 特点 不需要web.xml 不需要springmvc.xml 不需要tomcat,Spring Boot内嵌了tomcat 不需要配置JSON解析,支持REST架构 个性化的配置非常简单 如何使用 创建maven工程,导入相关依赖 1 <?xml version = "1.0" encoding = "UTF-8" ?> 2 <project xmlns = "http://maven.apache.org/POM/4.0.0" 3 xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" 4 xsi: schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd " > 5 <modelVersion> 4.0.0 </modelVersion> 6 7 <groupId> com.wiggin </groupId> 8