EF4 и POCO Class и информация о наследовании и отображении ошибок и метаданных не найдены для EntityType - PullRequest
1 голос
/ 24 января 2011

У меня есть класс POCO с именем TaskWeek на моем бизнес-уровне, а на уровне представления я определил новый класс:

public class TaskWeekUI : TaskWeek
{
    public DateTime EndDate { get; set; }

    public string PersianEndDate
    {
        get
        {
            return UIUtility.ConvertToPersianDate(EndDate);
        }
    }
}

Тогда у меня есть метод public void Save (List taskweeks), Когда я хочу вызвать этот метод, я конвертирую List и вызываю этот метод:

            using (TaskWeekDA twa = new TaskWeekDA())
            {
                IEnumerable<TaskWeek> tw = MainObjects.twUi.OfType<TaskWeek>();
                twa.Save(tw.ToList());
            }

но вместо сохранения у меня есть эта ошибка: Не удалось найти информацию сопоставления и метаданных для EntityType

Спасибо

1 Ответ

0 голосов
/ 24 января 2011

Вместо того, чтобы наследовать от TaskWeek, вы можете написать свои методы в частичном классе?

Например, напишите TaskWeek.part.cs, например:

//namespace has to be the same as TaskWeek that your model generated
public partial class TaskWeek
{
    public DateTime EndDate { get; set; }

    public string PersianEndDate
    {
        get
        {
            return UIUtility.ConvertToPersianDate(EndDate);
        }
    }
}

Таким образом, EF имеет информацию о типе класса, и у вас есть та же функциональность, что и с наследованием (то есть, если вы не используете наследование для каких-то других вещей).

...