EF Core 只读属性和隐藏属性

EF Core 使用Flunt API 针对只读属性的示例如下:

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

对应的Flunt API:

modelBuilder.Entity<Blog>().Property(b => b.Url)
.HasField("_url")

隐藏属性,比如下面的示例:

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

        public int BlogId { get; set; }

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

    }

Flunt API定义:

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

如果在Owns关系中,私有属性可以使用OwnsOne(typeof(类型),"字段名称")进行定义。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容