使用数据绑定到ObjectDataSource的通用Select方法?

时间:2011-11-11 17:13:02

标签: .net generics data-binding entity objectdatasource

目前这是一种假设情况,但我想知道是否可能。

如果我有这样的方法:

public List<T> SelectEntitiesWithWhere<T>(Func<T, bool> where) where T : EntityObject
{
    return this.ObjectContext.CreateObjectSet<T>().Where(where).ToList();
}

是否可以在DataBound ObjectDataSource中调用该方法? 可能是这样的代码:

<asp:ObjectDataSource ID="MyODS" runat="server" DataObjectTypeName="MyProgram.EntityFramework.MyEntity"
SelectMethod="SelectEntityWithWhere" TypeName="MyProgram.BusinessLayer.MyCode">
<SelectParameters>
    <asp:Parameter Name="where" Direction="Input" DefaultValue="t => t.SomeContactId == contactId" />
</SelectParameters>

我知道这不完全是怎么回事,但这个问题有解决办法吗?如果涉及自定义代码,需要什么?

1 个答案:

答案 0 :(得分:0)

根据this information,您似乎可以通过将'genericity'从方法转移到类级别来解决部分问题。但这仍然无法解决您的DefaultValue要求问题。

TLDR:你想要的是不可能的。