【发布时间】:2012-12-08 05:17:49
【问题描述】:
所以我正在做一个简单的项目管理系统,但遇到了一个 LINQ 难题。这可能很常见。项目任务基于模板(与数据库中的任务共享一个表)。项目任务具有默认从任务模板继承的多个字段,除非它们具有值。例如,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; }
}
}
【问题讨论】:
标签: .net linq-to-sql inheritance