检测何时在实体框架中初始化 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;
。
你为什么不简单地
- 将属性设置器声明为
protected
; 和 - 将您的
// DO STUFF
行为公开为正确的方法SetFirstName(string firstName)
?
像这样:
public class Person
{
public string FirstName { get; protected set; }
public string SetFirstName(string value)
{
_firstName = value;
// DO STUFF;
}
}
更干净,根本不需要"破解"EF。