如何重写实体框架实体获取方法

本文关键字:实体 框架 获取 方法 重写 何重写 | 更新日期: 2023-09-27 18:18:44

我正在做这样的事情:

List<Employees> employees = DB_Context.Employees.Where(p => p.id == empId).ToList();

与属性:

ID

FirstName

LastName

地址

我想覆盖Address,并在实际地址之前添加一些文本,例如:Client's address

如何返回字符串Client's address + 地址属性

?

如何重写实体框架实体获取方法

对于这个你不想"覆盖实体框架",你想要一个投影。在LINQ你的项目使用Select():

var employees = context.Employees
                       .Where(p => p.id == empId)
                       .Select(e => new Employee
                       {
                           ID = e.ID,
                           FirstName = e.FirstName,
                           LastName = e.LastName,
                           Address = "Client address: " + e.Address
                       })
                       .ToList();

您还可以公开一个未映射的属性,并指示您的同事使用该属性:

public class Employee
{
    // Other properties
    [NotMapped]
    public string ClientAddress
    {
        get
        {
            return "Client address: " + Address;
        }
    }
}