实体框架ExecuteSqlCommand返回对象列表

时间:2012-07-10 02:42:09

标签: entity-framework dbcontext

我对EF Code First感到沮丧,因为不支持View Mapping而不是Table。 所以我将从ExecuteSqlCommand中检索View Data Class。 但我无法弄清楚如何做到这一点? 可能有任何帮助吗?

protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Ignore<m_box>();
    }
protected override void Seed(eBagasiContext context)
    {
        context.Database.ExecuteSqlCommand(m_boxView.GetInitView(),new object[]{});
     }
public static class m_boxView
{
    public static string GetInitView()
    {
        return "CREATE VIEW m_box " +
            "AS " +
            "SELECT AgencyRef.Code AS ModuleCode, " +                
            "Price.Scale, "+
            "Price.Amount "+
            "FROM Price " +
            "LEFT JOIN AgencyRef " +
            "ON (Price.Code = AgencyRef.Code) " +
            "WHERE LEFT(Price.Code,1)='C'";
    }
}

1 个答案:

答案 0 :(得分:0)

如果要将视图映射到实体,则必须执行以下几个步骤:

  • 首先将其映射为一个表(因此不要忽略m_box)并让EF创建m_box表。
  • Seed方法中,您必须删除创建的表并创建具有相同名称的视图。