5.EF Core 数据库映射模型隐藏属性配置
Posted adoni
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();
以上是关于5.EF Core 数据库映射模型隐藏属性配置的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET Core 中的模型绑定将下划线映射到标题大小写属性名称
为 ASP.NET Core 5.0 - EF Core 5.0 Web App 配置 PostgreSQL 连接字符串以在 MS 或 Linux 云上运行?
EF Core 5 - 如何将 EF.Functions.Like 与映射到 JSON 字符串的自定义属性一起使用?