У меня 2 проекта. Проект данных, содержащий мою базу данных и мою модель Entity Framework. У меня есть таблица под названием «Пользователь», а затем сгенерированный класс EF для пользователя.
Я пытаюсь добавить частичный класс:
using System;
using System.Collections.Generic;
using System.Data.Linq;
using System.Linq;
using System.Text;
namespace Data
{
public partial class user
{
public bool isValid
{
get {
return (GetRuleViolations().Count()==0);
}
}
public IEnumerable<RuleViolation> GetRuleViolations()
{
yield break;
}
partialvoid OnValidate(ChangeAction action)
{
if (isValid)
throw new ApplicationException("Rule violation prevents saving");
}
}
public class RuleViolation
{
public string ErrorMessage { get; private set; }
public string PropertyName { get; private set; }
public RuleViolation (string errorMessage)
{
ErrorMessage = errorMessage;
}
public RuleViolation(string errorMessage, string propertyName)
{
ErrorMessage = errorMessage;
PropertyName = propertyName;
}
}
}
Это соответствует примеру MVC 1.0 NerdDinner. Однако я получаю ошибку времени разработки в методе OnValidate:
partial void OnValidate(ChangeAction action)
{
if (isValid)
throw new ApplicationException("Rule violation prevents saving");
}
Не найдено определяющее объявление для имплементации объявления частичного метода 'void OnValidate (ChangeAction action)'
Что я делаю неправильно?