看起来breeze无法在服务器返回的元数据中包含一些属性。我在客户端使用breeze.js,在服务器上使用breeze-EF,无需进一步配置。这是我的对象
[Table("COEP")]
public class COEP : DataObject
{
public string ID { get; set; }
[Required]
public string COEMID { get; set; }
[Required]
public string COJPID { get; set; }
[Required]
public string CORGID { get; set; }
[Required]
public string CODPID { get; set; }
[Required]
public short? COEPISMAIN { get; set; }
DateTime? STARTDATE { get; set; }
DateTime? ENDDATE { get; set; }
[JsonIgnore]
public virtual COEM COEM { get; set; }
}
这是从服务器返回的元数据的部分:调用:xxxController.GetMetadata()(我刚刚接受了关于对象的部分 COEP )
{"名称":"的 COEP "" customannotation:ClrType":" StampDev.Pro.v3 .server.EndPoints.Comp.Data.COEP,StampDev.Pro.v3,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null", "键" {" propertyRef" {"名称":" ID"}}, "属性":[ {"名称":"的 ID ""类型":" Edm.String"&#34 ;最大长度":" 128""定长":"假""的unicode":"真" "可空":"假"}, {"名称":"的 COEMID ""类型":" Edm.String"&#34 ;最大长度":" 128""定长":"假""的unicode":"真" "可空":"假"}, {"名称":"的 COJPID ""类型":" Edm.String"&#34 ;最大长度":"最大""定长":"假""的unicode":"真" "可空":"假"}, {"名称":"的 CORGID ""类型":" Edm.String"&#34 ;最大长度":"最大""定长":"假""的unicode":"真" "可空":"假"}, {"名称":"的 CODPID ""类型":" Edm.String"&#34 ;最大长度":"最大""定长":"假""的unicode":"真" "可空":"假"}, {"名称":"的 COEPISMAIN ""类型":" Edm.Int16"&#34 ;可空":"假"}] " navigationProperty" {"名称":" COEM""关系":" Self.COEM_COEP"&# 34; fromRole":" COEM_COEP_Target"" toRole":" COEM_COEP_Source"}}
您可以清楚地看到属性" STARTDATE"和" ENDDATE" (可以为空的日期时间)尚未包括在内。
这些属性未使用[NotMapped]属性标记。它们应该包含在元数据中。我不知道这里可能出现什么问题。这些属性是MS SQL数据库中表中的字段。
奇怪的是,我有其他具有STARTDATE Datetime属性的对象,并且它们在元数据中正确返回。更重要的是:对象" COEP "是第二级孩子 主孩子关系,其中 COEP 是二级孩子。任何帮助,任何可能出错的提示都将非常感激。感谢