【发布时间】:2012-02-04 06:05:37
【问题描述】:
我有两种几乎相同的方法。唯一的区别是 where 子句(和方法名称)。我刚刚包含了一个简化的 linq 查询。
from tableA in db.tableA
join tableB in db.tableB on tableA.id equals tableB.id
where tableB.ref == "blah"
select tableA
和
from tableA in db.tableA
join tableB in db.tableB on tableA.id equals tableB.id
where tableB.refb == "blah"
select tableA
有什么方法可以改变 where 吗?我知道我可以从查询中删除那里,然后在返回结果后使用 .notation 进行过滤。 (可能需要做一些其他的事情来确保我需要从 tableB 中返回的字段)。
有没有更好的方法?我有两个除了 where 之外几乎相同的 linq 查询是否重要?
【问题讨论】:
-
这些需要单独调用吗?你能不能用 where tableB.ref == "blah" || tableB.refb == "废话"
标签: linq refactoring dry