В EF Code First возможно ли инкапсулировать свойства, которые должны быть сохранены в хранилище данных? - PullRequest
1 голос
/ 19 января 2011

Допустим, у меня есть POCO, который я хочу, чтобы EF Code First сохранялся в хранилище данных:

public class Campaign
{
    public string Name { get; set; }
    public double GoalAmount { get; set; }
    private double AmountRaised { get; set; }
    public bool GoalMet
    {
        get
        {
            return AmountRaised >= GoalAmount;
        }
    }
}

Теперь по какой-то причине я не хочу, чтобы свойство AmountRaised было доступно вне объекта, но я делаю , чтобы оно сохранялось в хранилище данных. Возможно ли это с помощью EF Code First?

1 Ответ

5 голосов
/ 19 января 2011

Вы можете сделать его internal и убедиться, что проект, содержащий POCO / объекты домена, находится в той же сборке, что и ваши DbContext классы. Или вы можете объявить «дружеские» сборки в файлах, которые содержат ваши POCO:

[assembly: InternalsVisibleTo("MyOther.Assembly")]

...