使用Entity Framework 4.1 Codefirst,如何在poco类中创建未映射的字段?

jun*_*ace 10 mapping properties entity-framework-4.1

我有一组类作为我的域对象.我有一组配置文件来映射这些对象(EntityTypeConfiguration <>).

当我向任何域对象添加属性而不映射到列时,dbcontext会尝试查询该列,而忽略它未映射的事实.

我必须在配置代码或dbcontext代码中缺少设置.我不想在poco类中添加一个属性(装饰pocos将它们绑定到特定的持久性实现,我希望避免).

在针对IQueryable填充票证对象的调用中,调用失败并显示以下消息:

列名称"NotInDatabase"无效.

public class Ticket  
{  
    public Ticket() 
    {
    }

    public virtual int Id
    {
        get;
        set;
    }

    public virtual string Title
    {
        get;
        set;
    }

    public virtual string Description
    {
        get;
        set;
    }

    public string NotInDatabase
    {
        get;
        set;
    }
}


internal class TicketConfiguration : EntityTypeConfiguration<Ticket>  
{   
    public TicketConfiguration()  
    {  
        ToTable("ticket_table_name");

        HasKey(o => o.Id)
            .Property(o => o.Id)
            .HasColumnName("ticketId")
            .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity)
            .IsRequired();

        Property(o => o.Title).HasColumnName("TicketTitle");
        Property(o => o.Description).HasColumnName("TicketDescription");
    }   
}
Run Code Online (Sandbox Code Playgroud)

注意:请不要建议在我的情况下使用"数据库优先"或"模型优先".我想首先使用代码的功能将poco对象映射到数据库,即使我有一个现有的db结构.我将它与nhibernate进行比较并且真的想要坚持类似的结构(因为微软"采用了"流利的nhibernate的方法,所以很容易比较苹果和苹果).

谢谢!

jer*_*ley 15

.Ignore应该做的伎俩或属性叫做[NotMapped]