EF4 и UnitOfWork - Как заставить работать пользовательские свойства - PullRequest
0 голосов
/ 08 октября 2011

Скажи, что у меня есть:

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 голосов
/ 04 декабря 2012

Я обнаружил, что даже если у B нет внешнего ключа для A, я могу создать свойство навигации от A до B и наоборот, какой тип решает проблему самостоятельно.

...