zoukankan      html  css  js  c++  java
  • 12 EF Core 私有字段的映射

     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"));
  • 相关阅读:
    poj(1458)(最长公共子序列)
    二叉搜索树
    hdu1087
    poj3641(学习了)
    平年和闰年的由来。。。。
    Linux system函数返回值(转)
    VS2010单元测试(转)
    QT QTableWidget 用法总结(转)
    QT显示图片(转)
    Qt正则表达式类QRegExp(转)
  • 原文地址:https://www.cnblogs.com/Adoni/p/12334336.html
Copyright © 2011-2022 走看看