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(类型),"字段名称")进行定义。