Как отобразить свойство как НЕ столбец в EF 4.1 - PullRequest
6 голосов
/ 09 декабря 2011

У меня есть класс:

public class classParty
{
    private int _arrivedCount;

    public int PartyID {get; private set;}
    public DateTime PartyDate {get; private set;}
    public int ArrivedCount
    {
        get
        {
            return _arrivedCount;
        }

        set
        {
            _arrivedCount = value;
        }
    }
}

Я могу сопоставить PartyId и PartyDate, но у меня нет столбца для ArrivedCount (это отсчет времени, он не сохраняется).

Как мне сказать EF 4.1 прекратить поиск столбца с именем "ArrivedCount"? Это не в таблице. Это не будет в таблице. Это просто свойство объекта и все.

Заранее спасибо.

EDIT: Вот конфигурация Fluent API для classParty.

public class PartyConfiguration : EntityTypeConfiguration<classParty>
{
    public PartyConfiguration()
        : base()
    {
        HasKey(p => p.PartyID);

        Property(p => p.PartyID)
            .HasColumnName("PartyID")
            .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity)
            .IsRequired();
        Property(p => p.PartyDate)
            .HasColumnName("PartyDate")
            .IsRequired();

        ToTable("Party");
    }
}

Ответы [ 2 ]

14 голосов
/ 09 декабря 2011

С аннотациями данных:

[NotMapped]
public int ArrivedCount
//...

Или с использованием Fluent API:

modelBuilder.Entity<classParty>()
    .Ignore(c => c.ArrivedCount);
9 голосов
/ 09 декабря 2011
modelBuilder.Entity<classParty>().Ignore(x => x.ArrivedCount); 
...