1

我对 EF Code First 感到沮丧,因为不支持视图映射而不是表。所以我要从 ExecuteSqlCommand 中检索视图数据类。但我无法弄清楚如何做到这一点?有什么帮助吗?

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'";
    }
}
4

1 回答 1

0

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

  • 首先将其映射为表(所以不要忽略m_box)并让 EF 创建m_box表。
  • 在您的Seed方法中,您必须删除该创建的表并创建具有相同名称的视图。
于 2012-07-10T08:59:12.230 回答