我通过添加额外的属性从实体框架扩展实体: 示例:
public partial class Product
{
public string DefaultProductCode { get; set; }
我在设置此属性时使用硬编码值进行测试,然后再将其返回到IQueryable<产品>在微风控制器中。当我使用浏览器调用我的breeze方法时,该属性在json代码中成功显示。
我正在尝试在网格中显示这个额外的属性,但我一直有这个错误:
Error retreiving data. Object doesn't support property or method 'defaultProductCode'
我可以通过在Product的构造函数中注册属性defaultProductCode来解决错误。例如:
var Product = function () {
this.defaultProductCode = ko.observable("");
};
metadataStore.registerEntityTypeCtor('Product', Product, productInitializer);
但问题是它始终显示构造函数的值,它永远不会显示来自服务器的值,即使我看到它已成功通过。
这是一个错误吗?有没有办法注册该额外属性,以便显示来自服务器的值?
答案 0 :(得分:2)
我第二次看到PW-Kad建议How to extend Breeze MetaData for Unmapped Entity Property without KO。另请参阅this StackOverflow Q&A,它似乎可以解决您的使用案例。