EF4和UnitOfWork - 如何使自定义属性工作

时间:2011-10-07 20:16:34

标签: entity-framework unit-of-work

说我有:

public class A
{
    public virtual int Id { get; set; }
}

public class ARepository
{
    private SomeContext _context;
    public ARepository(IUnitOfWork unitOfWork)
    {
        _context = unitOfWork;
    }
    public A GetAById(int aId)
    {
        return _context.A.Where(o => o.Id == aId).SingleOrDefault();
    }
}

public class B
{
    public virtual int Id { get; set; }
    public virtual Category Category { get ; set; } //enum with NEW and OLD values
    public virtual int Quantity { get; set; }
}


public class BRepository
{
    private SomeContext _context;
    public BRepository(IUnitOfWork unitOfWork)
    {
       _context = unitOfWork;
    }
    public B GetBById(int bId)
    {
        return _context.B.Where(o => o.Id == bId).SingleOrDefault();
    }
}

我正在使用Entity Framework(首先是4.1代码)。

我如何在A类中实现自定义属性,例如:

//returns the total of all B objects in the context where the category is NEW
public int NewBTotals
{
}

而且不必创建上下文?

希望我的问题很清楚,如果不是,请告诉我,我会尝试更好地描述我想要实现的目标(时间不多了)。

1 个答案:

答案 0 :(得分:0)

我发现即使B没有A的外键,我也可以创建一个从A到B的导航属性,反之亦然,这样就解决了这个问题。