C# entity framework 分页查询(九)

students

public class students
    {
        public string id { get; set; }
        public string name { get; set; }
        public int age { get; set; }

        public DateTime createtime { get; set; }

        public DateTime modifydate { get; set; }
    }

studentsMap

public class studentsMap : EntityTypeConfiguration<students>
    {
        public studentsMap()
        {
            ToTable("students");
            HasKey(p => p.id);
            Property(p => p.id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None).IsRequired();
            Property(p => p.name).HasColumnType("VARCHAR").HasMaxLength(20).IsRequired();
            Property(p => p.createtime).IsRequired();
            Property(p => p.modifydate).IsRequired();
            Property(p => p.age).IsRequired();
        }
    }

Model1

 public partial class Model1 : DbContext
    {
        public Model1()
            : base("name=Model1")
        {
        }

        public virtual DbSet<students> StudentTests { get; set; }
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            var typesTomap = Assembly.GetExecutingAssembly().GetTypes()
                .Where(type => !String.IsNullOrEmpty(type.Namespace))
                .Where(type => type.BaseType != null && type.BaseType.IsGenericType && type.BaseType
                .GetGenericTypeDefinition() == typeof(EntityTypeConfiguration<>));
            foreach (var item in typesTomap)
            {
                dynamic config = Activator.CreateInstance(item);
                modelBuilder.Configurations.Add(config);
            }
            base.OnModelCreating(modelBuilder);
        }
    }

分页查询

 using (var db = new Model1())
            {
                var test = db.StudentTests
                    .OrderBy(p=>p.age)
                    .Where(p => p.name == "chen")
                    .Skip(2)
                    .Take(2)
                    .ToList();
            }

需要注意的是where字句要放在skip之前,且分页一定要包含orderby,否则会出错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值