在我的LINQ to SQL生成的db类中,我有一个表,其中包含对具有有用日期信息的字段的外键引用。查询可能如下所示:
var query = from a in db.TableA
join b in TableB on a.FK_B_Id equals b.Id
where b.Date.Value <= DateTime.Today
select a;
...或更简化:
var query = from a in db.TableA
where a.FK_B.Date.Value <= DateTime.Today
select a;
表B中的“Date”字段可以为空,但数据库中有一个约束,指定TableA记录只能链接到Date不为null的TableB记录。因此,为了让任何编写LINQ查询的人都更清楚,如此查询会更有意义:
var query = from a in db.TableA
where a.Date <= DateTime.Today
select a;
是否可以在TableA部分类中创建一个“Date”属性,该属性将返回TableB外键引用的Date属性(并且能够在查询中使用它)?这更像是一个Entity Framework类型的事情,还是LINQ to SQL可以处理这类事情?提前谢谢。
答案 0 :(得分:0)
我不知道Linq to SQL,但实体框架有一些名为Navigation Properties的东西,它允许您查询给定实体的关联实体。
答案 1 :(得分:0)
回答你的问题,是的,这是可能的。唯一需要注意的是,你的部分值必须是可以转换为sql的东西。如果您的部分值中的逻辑与sql没有等价的逻辑,则会遇到此问题。