2013-04-27 3 views
5

Я использую Entity Framework 4.1 и генерирую свои классы, используя первый подход к базе данных. У меня есть EDMX-файл в моем решении.Добавить атрибуты в базу данных Entity Framework сгенерированные сначала классы

Я пытаюсь добавить атрибуты к моим классам, используя подход MetadataTypeAttribute, который, как представляется, является рекомендуемым способом сделать это за пределами редактирования шаблона T4, однако я не могу заставить его работать, потому что я продолжаю получать эту компиляцию ошибка:

'Пациент' является неоднозначной ссылкой между 'PatientManagementSystem.Patient' и '' PatientManagementSystem.Models.Patient

Вот код, я использую:

[MetadataTypeAttribute(typeof(PatientMetadata))] 
public partial class Patient 
{ 
} 

public class PatientMetadata 
{ 

    [Required] 
    public string LastName {get; set;} 

} 

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

Спасибо! Flea

+1

Что такое пространство имен для вашего edmx и для класса выше? Они должны соответствовать. –

+0

Adam, пространство имен для EDMX является «пустым» (также, это проект библиотеки классов, отличный от моего MVC-проекта), а пространство имен для моего класса: 'PatientManagementSystems.Models' – Flea

+0

Адам, в этом была проблема. Я должен был исправить пространства имен, и теперь он работает. Если вы хотите скопировать то, что вы сказали, и поместите его в качестве ответа, я пометю его для вас. Благодаря! – Flea

ответ

3

Убедитесь, что оба они находятся в одном пространстве имен. Поскольку это частичный класс, класс, который вы изменяете, должен также находиться в одном пространстве имен или не является тем же классом.

Смежные вопросы