У меня есть таблица базы данных Staff
с колонками Name
, Email
, Address
и DateOfBirth
. В моем веб-приложении у меня есть отдельный класс ClassMyBase
, имеющий несколько методов. Один из методов использует LINQ к Entities:Тип возвращаемых данных метода при использовании LINQ to Entities
public static List<Staff> ShowAll()
{
using (ModelPersonnelContainer myContainer = new
ModelPersonnelContainer())
{
return myContainer.Staff.ToList();
}
}
..., а затем в ButtonShowAll
обработчик событий в WebForm1
:
protected void ButtonShowAll_Click(object sender, EventArgs e)
{
GridViewAll.DataSource = ClassMyBase.ShowAll();
GridViewAll.DataBind();
}
До сих пор так хорошо, НО, если я добавить фильтрации к моему public static List<Staff> ShowAll()
:
public static xyz ShowAll()
{
using (ModelPersonnelContainer myContainer = new
ModelPersonnelContainer())
{
selectedRrows=from item in myContainer.Staff
select new
{
Name=item.Name,
Email=item.Email
}
}
}
Мой метод не будет работать, потому что тип данных возврата не более, чем ранее. Любые простые решения? Что может это вернуть тип данных xyz
be?
Если я ставлю все вместе (не отдельный класс в моем проекте) и имеют только ButtonShowAll
он будет работать все в порядке, так как это:
protected void ButtonShowAll_Click(object sender, EventArgs e)
{
using (ModelPersonnelContainer myContainer = new
ModelPersonnelContainer())
{
var selectedRows = from item in myContainer.Staff
select new
{
Name=item.Name,
Email=item.Email
};
GridView1.DataSource = selectedRows.ToList();
GridView1.DataBind();
}
Вы можете использовать 'List' в качестве типа –
AlexanderBrevig
вам нужно добавить '.ToList()' после фильтрации в вашем статическом методе, чтобы вернуть список сотрудников. – Mivaweb