entity framework 实体自动转复数的解决办法

工作中遇到数据表自动把标明改成复数形式,导致一直报错.百度之后找到如下解决方法, 成功解决.

重载OnModelCreating方法

 

[code lang=”csharp”]using?System.Data.Entity;
namespace?SportStore.Models.Repository
{
public?class?EFDbContext:?DbContext
{
public?DbSet<Cartype>?table_cartypes?{?get;?set;?}
public?DbSet<City>?citylist?{?get;?set;?}
protected?override?void?OnModelCreating(DbModelBuilder?modelBuilder)?{
modelBuilder.Conventions.Remove<System.Data.Entity.ModelConfiguration.Conventions.PluralizingTableNameConvention>();
}
}
}

Linux版sqlserver修改实例默认排序规则(默认字符集)以及中文乱码解决办法

在Linux中安装sqlserver,由于并没有太多配置,很多都是默认.字符集默认为?SQL_Latin1_General_CP1_CI_AS. 这种情况下varchar会中文乱码.

解决办法是:

1.将varchar修改为nvarchar

2.修改默认排序规则(默认字符集)

在linux中修改sqlserver的默认字符集很简单.远比windows中要简单很多:

sudo systemctl stop mssql-server
sudo /opt/mssql/bin/mssql-conf set-collation

输入Chinese_PRC_CI_AS ,回车

? ?等待修改完成即可.
? ?启动数据库服务
? ?

sudo systemctl start mssql-server

Linux中的SQLServer命令-sqlcmd

此命令需要mssql-tools的支持,下面链接查看安装教程

http://www.meeleem.com/2016-11-17-44.cshtml

1.连接上你的sqlserver on linux服务器.

2.再终端中输入以下命令,注意, 下面的localhost必须用单引号,否则无法连接,官网的文档中并没有单引号,导致一直无法成功连接.如果使用IP的话,无需单引号,如果要连接远程服务器,只需要把localhost改成远程主机的域名或者ip即可.

sqlcmd -S 'localhost' -U SA -P 'YourPassword'

3.执行你的sql语句.如:

[code lang=”sql”]select name from sys.databases;
go
create database onlinux;
go

具体sql语句用法可以查看微软官方文档 :?https://msdn.microsoft.com/library/ms365303.aspx

Centos7 中安装SQLServer管理工具(mssql-tools)

刚才发布了一个Centos中安装SQLServer的步骤.现在来说一下怎么安装linux端的SQLServer管理工具.

1.切换root超级用户模式(root用户登录的话可以忽略1和3)

sudo su

2.下载配置文件

curl https://packages.microsoft.com/config/rhel/7/prod.repo &gt; /etc/yum.repos.d/msprod.repo

3.退出超级用户模式

exit

4.执行安装

sudo yum install mssql-tools

期间要输入两次或者三次”YES”

直至安装完成.

SQLServer on Linux预览版Centos7.2安装教程

今天凌晨 Connect 2016大会上,微软发布了预览版的SQLServer on Linux,其实从今年年初的时候就看到新闻说正在内测.当时申请了内测,但是一直没有资格.在今天终于发布,特地来写一篇安装教程.说明如何在linux中安装sql server.

安装之前,请先确认您的服务器或者VPS内存大于3.2G,否则会安装失败.并且系统版本为RedHat/CentOS?7.2 . 这是强制要求.低版本的我没有测试是否可行.也就是说,需要一台内存大于等于4G的RedHat/CentOS 7.2或者Ubuntu 16.04的服务器.达不到这样的规格请不要尝试.

下面开始安装:

1.切换root模式

sudo su

2.下载 SQLServer 针对 RedHat/CentOS系统的配置文件:

curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo &gt; /etc/yum.repos.d/mssql-server.repo

3.退出超级用户模式

exit

4.执行如下命令安装SQLServer

sudo yum install -y mssql-server

5.配置SQLServer,这里需要输入sa的密码,密码必须要符合微软的密码复杂度规则.

sudo /opt/mssql/bin/sqlservr-setup

6.当配置完成之后查看运行状态

systemctl status mssql-server

7.打开1433端口,并重启防火墙

sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload

至此,SQLServer on Linux安装完成.

至于管理工具,可以选择安装. 查看安装教程

Centos7 中安装SQLServer管理工具(mssql-tools)

在新版本windows中将“我的电脑”快捷方式添加到桌面

新版本的windows中只有回收站,习惯了直接在桌面上打开资源管理器的我极度不适应。经过百度搜索,找到了方法。

在运行中键入如下指令

rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0

在窗口中勾选“计算机”,点击确定即可。

该方法适合win8,server 2012以及现在的win10 ,server 2016等等系统。

IIS反向代理内网中的wordpress

在家里买了个1U的服务器,连上家里的宽带,省下了一年几千块的托管费。虽然没有80等端口,但是可以通过其他途径解决。
本服务器安装的windows server 2016,但是windows跑php效率没有linux高(应该是我不会优化的问题,请勿喷。。。),所以使用hyper-v安装了一台linux虚拟机用来跑wordpress。

但由于WordPress会自动跳转到设置中的网址,所以会导致反代前台成功,但是无法登陆后台的悲剧。

特写次笔记用来记录解决办法,其实并不仅仅内网才能用到。很多地方都可以用到。

这里从反代开始说明。
一:安装 ARR ,URLRewrite
由于我的是server 2016 , IIS版本为10.无法直接安装, 具体安装步骤和URLRewirte安装步骤一样。查看
请参考另一篇文章。
二:设置反向代理。
? ? 1.在IIS中,选择Application Request Routing组件。
? ? ? ??1
? ? ? 在右侧点击 Proxy下的Server Proxy Settings
? ? ? ??2
? ?勾选Enable ***
? ? ?3
? ? ?点应用。
? ? 2.设置UrlRewrite
? ? ? ? 选择你的网站程序,点击URL Rewrite
? ? ? ??4
? ? ?添加规则,选择“空白规则”
? ? ? ??5
?双击或者点击确定。
? ? 填入规则,如下
? ??7
?其中,Your Domain是你的IIS绑定的域名,如果有其他端口的话, 可以加上端口号,比如:www.baidu.com:8080
? 如果为80端口,不需要填写端口号。
?点击确定后向下翻。
? 这里填入要反代的网址,比如我的linux虚拟机IP为 192.168.0.188,网站端口为80,即可直接写入 http://192.168.0.188{R:1}
?6
?现在浏览你的IIS绑定的域名访问,不出意外的话, 你的虚拟机中的网站应用应该就出现了。
? 但是,我们的教程并没有结束。。。
在上面说了。 这样做的话, wordpress前台没有问题, 但是无法进入后台, 再登陆页面不论你登陆成功与否,都不会跳转。
所以, 我们需要再增加一步。
三:修改hosts
? ? 没错,就是修改本地的hosts。
? 在hosts中添加你的域名至192.168.0.188,这是我的IP, 你只需要修改为你自己的即可。但是必须要与wordpress中设置的域名一致。
? 至于如何修改hosts我就不截图了。
?hosts的路径为 C:\windows\system32\drivers\etc目录下。修改它就可以了。
至此,本笔记完全结束。。。