【发布时间】:2018-09-30 20:36:38
【问题描述】:
在将所有查询的 IsoDataTables 返回到前端之前,我正在尝试将其完全清空或删除 ID。这个想法是它应该(在这种情况下)表现为一个模板,我不希望它返回 id 给我,也不希望它们在前端被删除。
var applicationType = await _context.ApplicationType
.Include(m => m.IsoTableData)
.AsNoTracking()
.FirstOrDefaultAsync(m => m.Id == id);
if (applicationType == null)
{
return NotFound();
}
if (applicationType.IsoTableData != null)
{
foreach (IsoTableData isoTableData in applicationType.IsoTableData)
{
// error since it a not nullable primary key
isoTableData.Id = null;
}
}
return Ok(applicationType);
我找到了一种解决方法,在其中复制对象并将它们返回(不保存到数据库),但我正在寻找更优雅的解决方案。
【问题讨论】:
-
将它们映射到不具有相关属性的新类的实例?
-
我就是这么做的。正在寻找更优雅的解决方案。
-
我最终创建了一个复制构造函数,选择了我想要的字段并返回到本地任务变量。 (未在问题代码中显示)
-
@Irikos:将它们映射到另一个对象是层分离的促成因素。
标签: c# entity-framework entity-framework-core ef-fluent-api ef-core-2.1