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
时间: 2024-10-09 11:21:59