繁体   English   中英

实体框架核心,客户端计算列

[英]Entity Framework Core , client side computed columns

我试图找到一种以简便的方式让客户端计算列的方法。 已经有可能通过以下方式在服务器上计算列: https : //docs.microsoft.com/zh-cn/ef/core/modeling/relational/computed-columns

我想要的是这样的:

modelBuilder.Entity<Person>()
 .Property(p => p.DeptName)
 .HasClientComputedColumn( (context, entity) =>{        
            return myStaticMap[entity.Id];      
        });

EF核心可以做到吗?

如果它只是一个客户端列,那么您不需要使用Entity Framework中的任何内容。 我建议在您的Person类中实现自定义属性获取器,如下所示:

class Person
{
    //other fields...

    public string DeptName
    {
        get
        {
            if(myStaticMap==null || !myStaticMap.Contains(this.Id))
            {
                //initialize your static map or throw exception
            }
            else
            {
                return myStaticMap[this.Id];
            }
        }
    }
}

我假设DeptName属性类型为string ,但是显然您应该更改它以符合您的需求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM