首页 > 其他 > 详细

12 EF Core 私有字段的映射

时间:2020-02-20 13:23:53      阅读:143      评论:0      收藏:0      [点我收藏+]

 1、Fluent API 配置实体对象的私有字段赋值,只有Get没有Set 属性的映射

实体类

public class Blog
{
   private string _url;
   public int BlogId { get; set; }
   public string Url
   {
     get { return _url; }
   }
}

配置

modelBuilder.Entity<Blog>().Property(b => b.Url)
.HasField("_url")//设置EF Core 读取Url列值时,赋值给_url
//可配置访问模式  PropertyAccessMode.Field:直接访问私有字段返回值_url; PropertyAccessMode.Property:通过Url属性访问值  PropertyAccessMode.FieldDuringConstruction:优先使用属性访问
.UsePropertyAccessMode(PropertyAccessMode.Field);

 

2、隐藏属性的配置

模型

    public class Blog
    {
        
        private string _url;  //没有属性访问器

        public int BlogId { get; set; }

        public List<Post> Posts { get;  set; }

    }

Fluent API 配置

modelBuilder.Entity<Blog>().Property<string>("Url").HasField("_url").UsePropertyAccessMode(PropertyAccessMode.Field);

访问方式

var blogs = db.blogs.OrderBy(b => EF.Property<string>(b, "Url"));

 

12 EF Core 私有字段的映射

原文:https://www.cnblogs.com/Adoni/p/12334336.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!