Я работаю над одним приложением, которое имеет трехуровневую архитектуру с использованием модуля EF Code First.Как назначить список вывода ListView в многоуровневой архитектуре C# 3
- UI Layer (UI)
- Business Logic Layer (BLL)
- Доступ к данным Layer (DAL)
Использование LINQ я извлечения данных из базы данных в DAL, и передавая ее BLL и от BLL до UI
Ex.
В DAL
public object ReadUsers()
{
var users = db.Users.Select(u => new { u.UserName, u.IsDisable, u.FullName, u.Descriprion }).ToList();
return users;
}
в УСК
public object ReadUsers()
{
return _userDAL.ReadUsers();
}
и в пользовательском интерфейсе - Присвоение списка пользователей к ListView
var users = _userBLL.ReadUsers();
users.ToList()
.ForEach(x => lvUserRoleGroup.Items.Add(
new ListViewItem(
new string[] { x.UserName, x.IsDisable.ToString(), x.FullName, x.Descriprion }))
);
Но это бросает ошибку
Ошибка 1 «объект» не содержит определения для «ToList», и не может быть найден метод «ToList», принимающий первый аргумент типа «объект» (вам не хватает директивы using или ссылки на сборку?)
Может ли кто-нибудь сказать мне, как показать вывод в ListView
? Он работает отлично с DataGridView
, как показано ниже -
var users = _userBLL.ReadUsers();
dataGridView1.DataSource = users;
Почему бы не создать 'пользователей type' и возвращает общую коллекцию что тип, а не передача объекта? Ваша ошибка находится на 'users.ToList()' line cz, вы не можете вызывать 'ToList()' для объекта. Ошибка –