Я новый разработчик веб-форм ASP.NET. Теперь я изучаю, как использовать ObjectDataSource
с шаблоном Entity Framework и шаблоном репозитория. Сейчас я пытаюсь получить конкретный список элементов из таблицы с помощью ObjectDataSource
с помощью элемента управления ListView
.Как получить список конкретных записей с использованием ASP.NET ObjectDataSource с шаблоном репозитория?
В таблице Config в базе данных у меня есть 10 записей. Я хотел бы получить только 7 записей. Так как я могу это сделать? Как я могу присвоить этот список идентификаторов ObjectDataSource
, чтобы получить эти 7 записей не для всех записей?
ASP.NET Код:
<asp:ListView ID="lvConfigs" runat="server"
DataSourceID="odsConfig" DataKeyNames="Id">
<ItemTemplate>
<div class="col-xs-12 col-sm-6 col-md-3">
<div class="thumbnail wow fadeInUp" data-wow-delay=".1s">
<img src="../Assets/images/team/member1.png" alt="">
<div class="caption">
<h4>
<%#Eval("Value") %>
</h4>
<p>
<%#Eval("Entry") %>
</p>
</div>
</div>
</div>
</ItemTemplate>
<EmptyDataTemplate>
<span>No data was returned.</span>
</EmptyDataTemplate>
</asp:ListView>
<asp:ObjectDataSource ID="odsConfig" runat="server"
TypeName="Test.BLL.ConfigBL"
DataObjectTypeName="Test.Models.T_Config"
SelectMethod="GetConfigs"></asp:ObjectDataSource>
Вот код SysConfigRepository
класса:
public class SysConfigRepository : IDisposable, ISysConfigRepository
{
//internal variable
private readonly TestEntities dbContext = new DbdKurdoaEntities();
public IEnumerable<T_SysConfig> GetSysConfigs()
{
return dbContext.T_SysConfig.ToList();
}
public T_SysConfig GetSysConfig(int id)
{
T_SysConfig sysConfigObj = GetSysConfigs().SingleOrDefault(s => s.Id == id);
return sysConfigObj;
}
private bool disposedValue = false;
protected virtual void Dispose(bool disposing)
{
if (!this.disposedValue)
{
if (disposing)
{
dbContext.Dispose();
}
}
this.disposedValue = true;
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
}
Кодекс ISysConfigRepository
:
public interface ISysConfigRepository : IDisposable
{
IEnumerable<T_SysConfig> GetSysConfigs();
T_SysConfig GetSysConfig(int sysConfigId);
}
благодарит за вашу помощь. Вы имеете в виду, что я должен добавить этот метод к моему классу репозитория, правильно? –
Да, и для шаблона, за которым вы следуете, я думаю, вы должны добавить это и в свой интерфейс. – SamGhatak
, пожалуйста, отметьте ответ, если это поможет - так что это поможет и будущим посетителям;). thx – SamGhatak