所以我正在做一个简单的项目管理系统并且遇到了一个 LINQ quandry。这可能很常见。项目任务基于模板(与数据库中的任务共享一个表)。项目任务具有默认从任务模板继承的多个字段,除非它们具有值。例如,UnitPrice 为 0 的 ProjectTask 记录将查看 ProjectTask 模板记录以获取实际价格。
如何使用 LINQ 实现这一点?我想过做一个 ObjectDataSource,但这远离了我处理所有其他数据的方式(在 LINQ 中)。我尝试使用如下代码创建派生类,但它没有出现在 LinqDataSource 中,即使我在 ORM 设计器中设置了继承。
我做了一些谷歌搜索,但似乎找不到一个好的模型。有什么想法吗?一如既往地感谢。
public class ProjectTaskWithInheritance : ProjectTask
{
public new decimal UnitPrice
{
get
{
if (IsServiceOverride)
if (base.UnitPrice != 0)
return base.UnitPrice;
return base.TaskTemplateRecord.UnitPrice;
}
set { base.UnitPrice = value; }
}
}