#.net #generics #data-binding #entity #objectdatasource
#.net #общие положения #привязка данных #сущность #objectdatasource
Вопрос:
На данный момент это своего рода гипотетическая ситуация, но мне интересно, возможно ли это.
Если бы у меня был подобный метод:
public List<T> SelectEntitiesWithWhere<T>(Func<T, bool> where) where T : EntityObject
{
return this.ObjectContext.CreateObjectSet<T>().Where(where).ToList();
}
Возможно ли вызвать этот метод в 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:
Похоже, вы можете частично решить проблему, перенеся «универсальность» с метода на уровень класса — в соответствии с этой информацией. Но это все еще не решает проблему вашего требования к значению по умолчанию.
TLDR: То, что вы хотите, невозможно.