Entity Framework условного сопоставления с кодом в первую очередь? - PullRequest
0 голосов
/ 17 ноября 2011

У меня есть объект, который мне нужен, чтобы возвращать только записи, где значение данного поля больше нуля.Я видел примеры условного отображения в edmx, и это похоже на то, что мне нужно.Тем не менее, мой проект сначала написан на EF 4.1.Разве нет способа сделать это с использованием подхода «сначала код»?

1 Ответ

5 голосов
/ 17 ноября 2011

Я не думаю, что есть встроенный метод для достижения этой цели, однако вы можете выставить свойство в вашем DbContext, в котором вы применяете фильтрацию, изначально это будет только для чтения, но я не вижу причины, по которой вы не сможете создать свой собственныйРеализация DbSet, отражающая обратно на другой DbSet (ProxyDbSet)

Пример только для чтения:

class MyDbContext : DbContext
{
    public IDbSet<User> Users { get; set; }

    public IQueryable<User> Admins 
    {
        get 
        {
            return from user in users
                   where user.Role == "admin"
                   select user;
        }
    }
}
...