Я новичок в ASP.NET и могу использовать некоторую помощь в написании предложения where для моего EntityDataSource.
У меня есть следующие EDS:
<asp:EntityDataSource ID="RidesEDS" runat="server"
ContextTypeName="RamRideOps.RamRideOpsEntities" EnableFlattening="False"
EntitySetName="Rides" EnableDelete="True" EnableUpdate="True">
</asp:EntityDataSource>
Существует база данных 'Поездки »и база данных« AdminOptions », которая содержит две даты: validDate1 и validDate2 ... Мне нужно, чтобы EDS показывал только поездки, которые имеют CallTime между двумя действительными датами.Чтобы облегчить это, на page_load я заполняю два скрытых поля с действительными датами (hf_validDate1 и hf_validDate2).Может кто-нибудь показать мне, что мне нужно добавить в код EntityDataSource, чтобы выполнить это, сравнивая CallTimes со значениями hf с предложением WHERE?
EDIT:
Вот что у меня такдалеко, не совсем работает, хотя ..
<asp:EntityDataSource ID="RidesEDS" runat="server"
ContextTypeName="RamRideOps.RamRideOpsEntities" EnableFlattening="False"
EntitySetName="Rides" EnableDelete="True" EnableUpdate="True" Where="it.TimeOfCall > @validDate1Param AND it.TimeOfCall < @validDate2Param">
<WhereParameters>
<asp:ControlParameter ControlID="hf_validDate1" DbType="DateTime"
DefaultValue="1/01/2012 12:00:00 PM" Name="validDate1Param" PropertyName="Value" />
<asp:ControlParameter ControlID="hf_validDate2" DbType="DateTime"
DefaultValue="1/01/2112 12:00:00 PM" Name="validDate2Param" PropertyName="Value" />
</WhereParameters>
</asp:EntityDataSource>
<asp:HiddenField ID="hf_validDate1" runat="server" />
<asp:HiddenField ID="hf_validDate2" runat="server" />
Код сзади:
protected void Page_Load(object sender, EventArgs e)
{
using(RamRideOpsEntities myEntities = new RamRideOpsEntities())
{
var validDates = (from a in myEntities.AdminOptions
select new { a.ValidDate1, a.ValidDate2 }).FirstOrDefault();
if(validDates != null)
{
hf_validDate1.Value = validDates.ValidDate1.ToString();
hf_validDate1.Value = validDates.ValidDate2.ToString();
}
}
}