Я хочу передать список свойств класса функции. в функции, основанной на списке свойств, я собираюсь сгенерировать запрос. Как точно такая же функциональность в методе Linq Select. Здесь я собираюсь реализовать это для базы данных Ingress.Передача Linq Выражение функции
В качестве примера,
в переднем конце я хочу бежать отборное как это,
Мой Entity Класс как этот
public class Customer
{
[System.Data.Linq.Mapping.ColumnAttribute(Name="Id",IsPrimaryKey=true)]
public string Id { get; set; }
[System.Data.Linq.Mapping.ColumnAttribute(Name = "Name")]
public string Name { get; set; }
[System.Data.Linq.Mapping.ColumnAttribute(Name = "Address")]
public string Address { get; set; }
[System.Data.Linq.Mapping.ColumnAttribute(Name = "Email")]
public string Email { get; set; }
[System.Data.Linq.Mapping.ColumnAttribute(Name = "Mobile")]
public string Mobile { get; set; }
}
Я хочу вызвать Выберите функцию, как это,
var result = dataAccessService.Select<Customer>(C=>C.Name,C.Address);
then, используя результат, я могу получить значения свойств имени и адреса.
Я думаю, что мой выбор функция должна выглядеть следующим образом,
(* Я думаю, что это должно сделать с помощью Linq выражения. Но им не уверен, что являются входным параметром и типа возвращаемого значения. *)
Class DataAccessService
{
// I'm not sure about this return type and input types, generic types.
public TResult Select<TSource,TResult>(Expression<Func<TSource,TResult>> selector)
{
// Here I wanna Iterate through the property list, which is passed from the caller.
// Here using the property list,
// I can get the ColumnAttribute name value and I can generate a select query.
}
}
Это попытка создать такую функциональность, как в Linq. Но я не эксперт в выражениях Linq.
Существует проектный вызов DbLinq от Массачусетского технологического института, но это большой проект, и я все еще не мог извлечь из этого ничего полезного.
Может кто-нибудь, пожалуйста, помогите мне начать это, или кто-нибудь может связать мне некоторые полезные ресурсы, чтобы прочитать об этом.
Не знаете, чего вы хотите достичь ... Вы хотите получить имя и адрес всех клиентов? –
Kalin. В моем методе «Выбрать» я хочу пройти через список poperty. В моем примере он должен дать мне только свойства имени и адреса. – Sency
Вы описываете _how_ вы хотите что-то сделать. Не могли бы вы объяснить, почему вы хотите это сделать, то есть, чего вы хотите достичь? –