【发布时间】:2012-07-02 09:13:18
【问题描述】:
假设我们有一个视图 V1 和 V2,声明如下:
create view V2 as
select V1.*, V2.C1, V2.C2, V2.C3
from V1
join V2 on V1.Key = V2.Key
where bla-bla
所以 V2 缩小了 V1 的结果集并添加了一些连接。 C#中有一个检索例程
IEnumerable<V1> GetData(MyFilter filter, MySortOrder order) {}
我想在 V2 中重复使用。是否可以不在 L2S 中而不是在数据库中执行连接?我应该在数据库上下文中手动创建一个基类吗?
【问题讨论】:
-
依赖于filter和order参数的使用,能否把GetData方法的代码发过来?
-
不,它没有。因为 GetData() 仅使用 V1 的属性,并且在 V2 中重复。
-
你能轻松拆分成两种方法 IEnumerable
FilterAndSort(IEnumerable allData, MyFilter filter, MySortOrder order) 吗? -
如果你声明类
V2并用L2S属性装饰它,你可以直接使用。L2S不知道也不关心视图和表格。
标签: c# .net sql linq-to-sql