#sql #asp.net-mvc
#sql #asp.net-mvc
Вопрос:
На уровне доступа к данным у меня есть метод для извлечения всех табличных значений. Как я могу вернуть его в контроллер в asp.net MVC. кто-нибудь может мне помочь?
Заранее спасибо.
public static Dataset GetMembers()
{
//sql steps to retrieve records and fill it in dataset
}
Код контроллера:
{
var members = class.GetMembers()
return View(members);
}
Комментарии:
1. Вам придется быть немного более конкретным и, возможно, включить некоторый код. Можем ли мы увидеть код, который извлекает значения вашей таблицы?
2. Код DAL: общедоступный статический набор данных GetMembers(){ //шаги sql для извлечения записей и заполнения их в dataset } Код контроллера: переменные члены = класс. GetMembers(){ возвращает представление (элементы);}
3. @Sivakumar Пожалуйста, включите будущий код в свой исходный пост. Мне кажется, что вы уже возвращаете его на свой контроллер и отправляете в свое представление. Вы хотели спросить что-то еще — возможно, как отобразить это в вашем коде просмотра?
4. Нет, Дэвид, просто я хочу вернуть записи в виде Ienumerable в контроллер с уровня доступа к данным
5. @Sivakumar Что вы используете в своем уровне доступа к данным? ADO.NET, Entity Framework, Linq к классам SQL?
Ответ №1:
Вам нужно будет изменить свой GetMembers
метод (или реализовать другой, который возвращает IEnumerable<YourType>
. В этом примере (поскольку вы не предоставляете никаких дополнительных данных) я верну список MyType
, который, как я предполагаю, выглядит следующим образом:
public class MyType
{
public int ID { get; set; }
public string Name { get; set; }
}
А затем заполнить List<MyType>
внутри GetMembers
public static IEnumerable<MyType> GetMembers()
{
List<MyType> list = new List<MyType>();
using(SqlConnection db = new SqlConnection(connectionString))
{
DataSet ds = new DataSet();
// get a DataSet as normal
foreach (DataRow dr in ds.Tables[0].Rows)
{
list.Add(new MyType()
{
ID = Convert.ToInt32(dr["ID"].ToString()),
Name = dr["Name"].ToString())
});
}
}
return list;
}
Это базовый пример того, как вы могли бы вернуть IEnumerable (из List<T>
реализаций которого) из вашего метода.