Я создал свой первый проект, используя FluentNHibernate. Когда я пытался получить список записей из одной таблицы, я получил исключение, которое говорит:
System.FormatException: строка не была распознана как допустимое логическое значение.
Проблема в том, что в таблице базы данных есть столбец с именем "flag", а его тип данных - char, но он содержит только значения '0' или '1'. Итак, я хотел бы сопоставить его с типом bool в моем POCO:
public class Students
{
public virtual int Id {get; private set;}
public virtual string FirstName {get; set;}
public virtual string LastName {get; set;}
public virtual DateTime RegisterDate {get; set;}
public virtual bool Flag {get; set;}
}
Теперь, как мне конвертировать Flag в bool в моем Mappings.cs?
public class StudentMap : ClassMap<Students> {
public StudentMap() {
Id(x => x.Id);
Map(x => x.FirstName).Column("first_name");
Map(x => x.LastName).Column("last_name");
Map(x => x.RegisterDate).Column("register_date");
Map(x => x.Flag); // This won't work because
// column "flag" is char,
// whereas x.Flag is bool.
}
}
Это вопрос 1.
Кроме того, в базе данных имя таблицы «студенты», но в моей бизнес-модели я хочу использовать единственное число в качестве Студент , как я могу это сделать? Прямо сейчас, если я определю свой бизнес-класс как «Студент», я получу ошибку, в которой говорится, что что-то вроде таблицы «студент» не найдено.
База данных MySQL, если это имеет значение.
Спасибо за подсказку.