实体框架4.1 - 覆盖实体(DBSet)与过滤器 [英] Entity Framework 4.1 - Override Entity (DBSet) with Filter

查看:140
本文介绍了实体框架4.1 - 覆盖实体(DBSet)与过滤器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图做一些应该是比较容易的,但我只是不知道如何构建它。

I'm trying to do something which should be relatively easy, but i just dont know how to construct it.

我有一个生成的实体,我想想加入一个LINQ Where语句覆盖。

I have a Generated Entity which I'd like to override by adding a Linq Where statement.

谨此部分的上下文:

public partial class MyEntities: DbContext
{
    public MyEntities()
        : base("name=MyEntities")
    {
    }    
    public DbSet<Assignee> Assignees { get; set; }
}



我创建了一个新的部分MyEntities和尝试以下

I've created a new partial of MyEntities and tried the following

public override DbSet<Assignee> Assignees 
{
    get
    {
        return this.Assignees.Where(z => z.IsActive == true);
    }
    set; 
}



不过,这将引发多义性错误(这是很明显)。

but this throws an ambiguity error (which is obvious).

我怎样才能做到这一点?

How can I accomplish this?

感谢

推荐答案

试着露出 DbSet<受让人GT; 的IQueryable<受让人GT; 以不同的名称

Try exposing DbSet<Assignee> and IQueryable<Assignee> with different names

public partial class MyEntities: DbContext
{
    public MyEntities()
        : base("name=MyEntities")
    {
    }

    public DbSet<Assignee> AssigneesSet { get; set; }

    public IQueryable<Assignee> Assignees 
    {
        get
        {
            return AssigneesSet.Where(z => z.IsActive == true);
        }
    }
}

这篇关于实体框架4.1 - 覆盖实体(DBSet)与过滤器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆