2012-04-30 4 views
3

У меня есть простой класс poco, у которого есть свойство enum (необходимо, чтобы у меня все еще был код, который сначала создавал таблицу поиска enum). Я не хочу, чтобы генератор миграции добавил этот столбец в базу данных. Есть ли атрибут или какой-либо другой способ, чтобы код перехода знал, чтобы игнорировать свойство?EF Code-First Migration - Игнорировать свойство

Пример:

public class MyPoco 
{ 
    public int MyPocoId { get; set; } 
    public int MyPocoTypeId { get; set; } 

    public MyPocoTypeEnum MyPocoTypeEnum 
    { 
     get { return (MyPocoTypeEnum)MyPocoTypeId; } 
     set { MyPocoTypeId = (int)value; } 
    } 
} 

ответ

8

Вы можете использовать NotMappedAttribute

http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.notmappedattribute(v=vs.103).aspx

Или я предпочитаю использовать свободно отображение, поскольку он не загромождать свою модель предметной области с проблемами доступа к данным.

modelBuilder.Entity<MyPoco>().Ignore(p => p.MyPocoTypeEnum); 
+0

Отлично, я дам ему попробовать. Я могу изменить файл Mapping.tt, чтобы добавить их на карту и сохранить POCO в чистоте. –

+0

, когда я использую FluentMApping, поле все равно возвращается в наборе результатов, хотя это NULL знает. Как мне заставить его даже не возвращаться? – Rodney

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