Entity Framework 4 & Частичное наследование классов - PullRequest
1 голос
/ 19 октября 2010

У меня есть простая модель EF с сущностью Test, и я хочу использовать частичные классы для добавления проверки следующим образом:

namespace WebApp.Model
{
    using WebApp.BusinessRules;
    using WebApp.BusinessRules.Rules;
    using Microsoft.Practices.EnterpriseLibrary.Validation.Validators;

    [HasSelfValidation]
    public partial class Test : BusinessObject
    {
        public Test()
        {
            AddRule(new ValidateRequired("Title"));
        }
    }
}

Но я получаю эту ошибку:

Частичные объявления«Model.Test» не должен указывать разные базовые классы.

Я понимаю ошибку, но как я могу использовать модели EF4 и при этом иметь доступ ко всем моим качествам проверки бизнеса?

В BusinessObject есть вся проверка и прочее, поэтому, если я смогу заставить их работать хорошо вместе, у меня все готово.Надеюсь, что кто-то может помочь.

Ричард

1 Ответ

1 голос
/ 19 октября 2010

При текущей настройке (с использованием объектов EF EntityObject по умолчанию) вы не сможете получить наследование от BusinessObject . Вместо наследования вы можете использовать Composition, что означает, что у каждого частичного класса будет поле типа BusinessObject .

Если вы хотите придерживаться своего наследования, вам следует использовать EF 4 POCO Entitie , а затем иметь ваши POCO для наследования от BusinessObject .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...