EF生成的MetaData和IE8(无法在此javascript引擎上定义Getters和Setter)

时间:2014-03-14 04:18:49

标签: breeze

使用IE8(一切正常IE9 +)
我正在使用EF来生成元数据,如#E; EF设计工具"文件
我添加了ES5 Shim / Sham
微风似乎装得很好

加载元数据后,我收到以下错误 "无法解析或导入元数据:无法在此javascript引擎上定义getter和setter"

这是我可以解决的问题吗?

在这个阶段它只是一个原型而我只使用一个琐碎的类(下)

public class Category
{
   private Guid catId;

    [Key]
    public Guid CatID
    {
        get { return catId; }
        set { catId = value; }
    }

    private string catDesc;

    [Required]
    [StringLength(50)]
    public string CatDesc
    {   
        get { return catDesc; }
        set { catDesc = value; }
    }

    public Category()
    {
    }
}


有什么想法吗?

2 个答案:

答案 0 :(得分:1)

此行为在breezeJs文档中有描述:http://www.breezejs.com/documentation/prerequisites - 相关部分摘录如下:

  

注意:由于IE8和垫片限制与Object.defineProperty有关,因此微风轻拂   '备份存储区' IE8不支持模型库,但是,“淘汰”'和'骨干'    库是受支持的。

答案 1 :(得分:0)

要使用breeze和IE8,您必须使用knockout或backbone作为后备存储。默认的breeze后备存储使用Object.defineProperty,它仅适用于IE8 DOM对象。