У меня есть класс модели, который имеет ряд открытых свойств (имя, адрес и т. Д.). Эти свойства точно соответствуют столбцам в базе данных SQL. У меня есть форма, которая позволяет пользователю вводить идентификационный номер клиента и по щелчку передает идентификатор клиента методу в классе бизнес-логики, который, в свою очередь, вызывает общий класс доступа к данным, который использует Dapper Query для возврата клиента запись из базы данных SQL. Этот результат привязан к сетке данных и работает нормально.
(так что все работает нормально: Форма> BLClass> DataAccessClass> BLClass> Форма)
Однако в моем классе бизнес-логики мне бы хотелось иметь доступ ко всем свойствам в моем классе моделей, чтобы я мог создавать отчеты и выполнять некоторые вычисления. Я могу создать новый пустой экземпляр моего класса модели, и все свойства появляются после точки в intellisense, но когда я пытаюсь получить доступ к фактическому списку, возвращенному классом DataAccess, который имеет тип List, я не могу установить или получить любое из свойств в классе модели.
Примечание. Мой метод бизнес-класса был запущен как открытый метод void, но для того, чтобы вернуть список в форму для использования в представлении данных, мне нужно было создать метод "public List CreateReport (int ClientID);" Меня не волнует отображение результата в форме - я всегда могу заполнить его отдельно. Мне просто нужно иметь возможность заполнять свойства класса модели внутри класса бизнес-логики, чтобы я мог использовать их в отчете.
//The model class
public class ClientModel
{
public int ClientID { get; set; }
public string ClientPosition { get; set; }
public string Fname { get; set; }
public string MName { get; set; }
public string LName { get; set; }
//etc.
}
//The business logic class
public void CreateReport(int ClientID);
List<ClientModel> client = DataConfig.Connection.GetClientByID(ClientID).ToList();
string ClientName = (client.FName + " " + client.MName + " " + client.LName).ToUpper();
string ClientNameFooter = client.FName + " " + client.MName + " " + client.LName;
//Etc., with the int's and strings eventually replacing bookmarked sections in a Word template using Word.Interop.
Когда я пытаюсь получить доступ к client.Fname, я получаю сообщение об ошибке «Список» не содержит определения для «FName», и невозможно найти доступный метод расширения «FName», принимающий первый аргумент типа «Список». "
Я попытался назначить переменную списка «client» пустому экземпляру модели Client, но получил ошибку «Не удается неявно преобразовать тип« ReportGenerator.ClientModel »в« System.Collections.Generic.List.ReportGenerator.ClientModel » .
Впервые в C # и Dapper, так что это может быть что-то совершенно очевидное, что мне не хватает в объекте списка.