检测何时在实体框架中初始化 POCO 实体

本文关键字:实体 初始化 POCO 框架 检测 何时 | 更新日期: 2023-09-27 18:35:05

假设我有一个带有这样的属性的 POCO

public class Person
{
    private string _firstName;
    public string FirstName
    {
       get { return _firstName; }
       set
       {
           _firstName = value;
           // DO STUFF;
       }
    }
}

当对象由EF初始化时,我只想设置_firstName而不想设置其他内容,只有在初始化对象后,我才希望设置运行其余// DO STUFF;

检测何时在实体框架中初始化 POCO 实体

你为什么不简单地

  1. 将属性设置器声明为 protected ; 和
  2. 将您的// DO STUFF行为公开为正确的方法SetFirstName(string firstName)

像这样:

public class Person
{
    public string FirstName { get; protected set; }
    public string SetFirstName(string value)
    {
       _firstName = value;
       // DO STUFF;
    }
}

更干净,根本不需要"破解"EF。