1.数据库连接问题
检查连接字符串是否正确、确保在配置文件中连接字符串的名字和C#代码中读取配置文件的名字是一致的
Windows服务里看看SQLServer服务启动没有;SQLServer配置管理器看看TCP/IP启动没有;
127.0.0.1/./localhost哪个能连上就用哪个
2.数据库设计
数据库设计原则(每个公司不尽相同):表命名T_开头,复数结尾;主键Id(bigint型,更长。程序对应long),自动增长;日期时间用DateTime;表之间建外键,外键字段以Id结尾;一般软删除(IsDeleted字段)。是否可空要设计好,尽量避免使用可空字段(杨中科原则)
3.数据软删除
由于外键的存在,在删除一条数据的时候,要把所有指向他的记录都删除,这样很麻烦,而且控制不好容易引起“雪崩”。
数据真正删除后容易造成旧数据问题(员工离职,那之前他发布的文章怎么办?)
很多时候用户说“删除”其实只是不想看到了,如果真删了,想看就再也看不了了。
所以:给表增加一个IsDeleted字段,默认值是false/0。当“删除”的时候只是把IsDeleted更新成true,再进行查询、显示的时候把IsDeleted=0的都过滤掉只显示没“删除”的(where IsDeleted=1)。这就叫“软删除”。