Я использую nHibernate с c #, чтобы получить список записей или строк из базы данных, как показано в первой паре строк кода ниже. Это отлично работает. Что я хочу сделать, это выбрать несколько конкретных полей из записи, а не всю запись. Я пробовал различные методы и не могу найти примеры того, как это сделать. Может ли кто-нибудь взглянуть на приведенный ниже код и сообщить мне, если я ухожу в неправильном направлении.
Спасибо!
// THIS WORKS - Retrieve a list of my records from the table.
Ilist<MyClass> classList = db.Session.CreateQuery("FROM MyTable WHERE t.Name='AName'").List<MyClass>();
// THIS WORKS - Retrieve a list of strings from the table
IList<string> stringList = db.Session.CreateQuery("SELECT c.ConstName FROM MyTable c WHERE c.Name='AName'").List<string>();
// THIS DOES NOT WORK (RUN-TIME ERRORS). HOW CAN I SELECT ONLY A FEW FIELDS FROM EACH RECORD?
// This class contains only the records I want.
public struct MyClassB
{
private string Name;
private string Address;
public string Name
{
get { return Name; }
set { Name = value; }
}
public string Address
{
get { return Address; }
set { stationName = Address; }
}
}
IList<MyClassB> classListB = db.Session.CreateQuery("SELECT t.Name, t.Address FROM MyTable t WHERE t.Name='AName'").List<MyClassB>();