c# - 是否可以在实体构造函数中创建和保存相关数据?
问题描述
本文描述了从 Asp.Net Core v2.1 开始在实体类型中使用构造函数的可能性。
我想,是否可以在创建实体时自动创建一些相关数据,而无需在控制器中为其编写任何代码?
像这样的东西:
public class ProjectTask
{
public ProjectTask()
{
// Somehow check if we are creating a new ProjectTask.
// if (create)
// {
Notifications.Add(new ProjectTaskNotification
{
IsSent = false,
ProjectTaskId = Id,
Task = this,
TimeBefore = new TimeSpan(7, 0, 0, 0)
});
// }
}
public int Id { get; set; }
// Some more properties...
public Member TaskOwner { get; set; }
public List<ProjectTaskNotification> Notifications { get; set; }
public Project Project { get; set; }
}
然后我只需将ProjectTask
-entity 保存在控制器中,而不必担心Notifications
:
db.Add(projectTask);
await db.SaveChangesAsync();
可以做到吗?我不太了解 C# 或 EF,所以也许我遗漏了一些明显基本的东西?
解决方案
推荐阅读
- javascript - 使用electron-webpack dev时的decoratorsBeforeExport错误
- python-3.x - 使用 Pandas 数据框识别重复组
- python - 正则表达式:在 Python 的正则表达式中使用“或”选项
- python - 试图将字符串与字典的内容进行比较
- pycharm - PyCharm中的传统箭头键有什么快捷方式吗
- java - 如何将字符串和变量连接到 th:src
- python - 使用过滤器数组在母数组中查找值索引
- ios - 如何使用与 NewtonSoft (JSON.Net) 组件中的 JSON 匹配的 Swift 类从/向 JSON 读取/写入对象数组?
- x86 - 当堆栈指针未填充 16 位时,libc 的 system() 会导致分段错误
- php - 使包含的文件具有其相对目录位置,而不是调用它的目录位置