zoukankan      html  css  js  c++  java
  • 5.EF Core 数据库映射模型隐藏属性配置

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

    例子:数据库表中添加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();
     
  • 相关阅读:
    CF1280G Kirchhoff's Current Loss【表达式解析,不等式】
    [AGC040C] Neither AB nor BA
    [AGC040B]Two Contests
    [ARC101E]Ribbons on Tree(容斥,dp)
    [GXOI/GZOI2019]旧词
    [SDOI2015]寻宝游戏
    半平面交初步
    [CF585E]Marbles
    [P5348]密码解锁
    NOIP2018 保卫王国
  • 原文地址:https://www.cnblogs.com/Adoni/p/12296133.html
Copyright © 2011-2022 走看看