码迷,mamicode.com
首页 > 数据库 > 详细

5.EF Core 数据库映射模型隐藏属性配置

时间:2020-02-11 19:07:34      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:mod   day   protected   add   err   property   pre   排序   rri   

   一、隐藏属性是指:在实体类中未定义,但在数据库中有字段定义,隐藏属性不支持通过数据注解的方式配置

例子:数据库表中添加LastUpdated,数据库模型中无LastUpdated字段

1.重写OnModelCreating添加配置

     protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
        modelBuilder.Entity<Blog>().Property<DateTime>("LastUpdated");
        base.OnModelCreating(modelBuilder);  
     }

2.隐藏属性数据的添加

            Blog blog = new Blog { Url = "XXXX" };
            _context.Entry(blog).State = EntityState.Added;
            _context.Entry(blog).Property("LastUpdated").CurrentValue = DateTime.Now.AddDays(1);
            _context.SaveChanges();

3.隐藏属性查询条件、排序

            var blogs = _context.Blogs.Where(b => EF.Property<DateTime>(b, "LastUpdated") > DateTime.Now);
            var blogs2 = _context.Blogs .OrderBy(b => EF.Property<DateTime>(b, "LastUpdated"));

4.隐藏属性的修改

            Blog blog = _context.Blogs.Find(1);
            _context.Entry(blog).Property("LastUpdated").CurrentValue = DateTime.Now;
            blog.Url = "xxxxx";
            _context.SaveChanges();

 

 

5.EF Core 数据库映射模型隐藏属性配置

标签:mod   day   protected   add   err   property   pre   排序   rri   

原文地址:https://www.cnblogs.com/Adoni/p/12296133.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!