我对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'";
}
}
答案 0 :(得分:0)
如果要将视图映射到实体,则必须执行以下几个步骤:
m_box
)并让EF创建m_box
表。Seed
方法中,您必须删除创建的表并创建具有相同名称的视图。