首页 > 代码库 > .Net Core 开发踩坑记录
.Net Core 开发踩坑记录
1.EF Net Core版本,在linux环境下,数据库版本最低配置为SQL Server 2008 SP4,否则连接数据库的时候第一次会报timeout,无论超时时间怎么加长,都会报这个错误,在windows下是一切正常的
2.EF Net Core版本,默认生成的SQL脚本是SQL Server 2014版本的,如果你的数据库不是2014版本的话,目前我在使用分页语句那边会报错。不是用EF生成的2014版本SQL语句的方式如下:
1 public class MSSQLContext : DbContext 2 { 3 public DbSet<TCBaseDataTest> TCBaseDataTests{ get; set; } 4 5 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) 6 { 7 optionsBuilder.UseSqlServer(数据库connction, b => b.UseRowNumberForPaging()); 8 } 9 }
3.EF Net Core版本,修改实体映射生成SQL表名,修改方式如下,(PS:这一点我是照搬官网的,官网使用文档地址为https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/intro)
1 using ContosoUniversity.Models; 2 using Microsoft.EntityFrameworkCore; 3 4 namespace ContosoUniversity.Data 5 { 6 public class SchoolContext : DbContext 7 { 8 public SchoolContext(DbContextOptions<SchoolContext> options) : base(options) 9 { 10 } 11 12 public DbSet<Course> Courses { get; set; } 13 public DbSet<Enrollment> Enrollments { get; set; } 14 public DbSet<Student> Students { get; set; } 15 16 protected override void OnModelCreating(ModelBuilder modelBuilder) 17 { 18 modelBuilder.Entity<Course>().ToTable("Course"); 19 modelBuilder.Entity<Enrollment>().ToTable("Enrollment"); 20 modelBuilder.Entity<Student>().ToTable("Student"); 21 } 22 } 23 }
4.目前MySQL官网还没有出正式版本的组件,我们的项目使用的MySQL与MySQL EF组件是SapientGuardian.MySql.Data和SapientGuardian.EntityFrameworkCore.MySql
.Net Core 开发踩坑记录
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。