Пользовательская обработка предложений LINQ Where для DbSet в Microsoft Entity Framework и C#C#

Место общения программистов C#
Ответить
Anonymous
 Пользовательская обработка предложений LINQ Where для DbSet в Microsoft Entity Framework и C#

Сообщение Anonymous »

Я использую Microsoft Entity Framework. Рассмотрим следующий пример кода:

Код: Выделить всё

public class person
{
public int Id { get; set;}
public string Name { get; set;}
public string DisplayName{ get; set;}

public string OtherStuff{get; set;}

}

public MyContext : DbContext
{
public class DbSet
 persons {get; set;}
}

// In the main...
using(MyContext context = new MyContext)
{
var results = context.persons
.Where(p => p.Name == "someName")
.FirstOrDefault();
}
Я хотел бы выполнить некоторую обработку перед фактическим выполнением запроса на основе аргументов предложения Where. Мне бы хотелось получить доступ к свойству, компаратору и аргументу, если это возможно.
По сути, я хотел бы переопределить предложение were, чтобы я мог выполнить некоторую предварительную обработку, а затем завершить запрос. и вернуть результаты. Есть ли механизм для этого? Я хотел бы, чтобы это было специфично для этого конкретного DBContext и прозрачно для вызывающего объекта.
Например, я хотел бы создать хэш свойства Name, а затем использовать его для поиска запись человека в базе данных.
В качестве другого примера: я хотел бы регистрировать каждое найденное имя, после завершения этой операции просто возвращайте данные.
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/790 ... -framework
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»