看起来breeze未能在服务器返回的元数据中包含一些属性。我在客户端使用breeze.js,而在服务器上使用breeze-EF而无需进一步配置。这是我的目标Breeze.js:返回的服务器元数据中缺少属性
[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的部分)
{“name”:“COEP”,“customannotation:ClrType”:“StampDev.Pro.v3.server.EndPoints.Comp.Data.COEP,StampDev.Pro.v3,Version = 1.0.0.0,Culture =中性,PublicKeyToken = null“, ”key“:{”propertyRef“:{”name“:”ID“}}, “property”:[ {“name”:“ID”,“type”:“Edm.String”,“maxLength”:“128”,“fixedLength”:“false”,“unicode”:“true “,”nullable“:”false“}, {”name“:”COEMID“,”type“:”Edm.String“,”maxLength“:”128“,”fixedLength“:”false“ unicode“:”true“,”nullable“:”false“}, {”name“:”COJPID“,”type“:”Edm.String“,”maxLength“:”Max“,”fixedLength“: “false”,“unicode”:“true”,“nullable”:“false”}, {“name”:“CORGID”,“type”:“Edm.String”,“maxLength”:“Max” ,“fixedLength”:“false”,“unicode”:“true”,“nullable”:“false”}, {“name”:“CODPID”,“type”:“Edm.String”,“maxLengt h“:”Max“,”fixedLength“:”false“,”unicode“:”true“,”nullable“:”false“}, {”name“:”COEPISMAIN“,”type“ .Int16“,”nullable“:”false“}] ”navigationProperty“:{”name“:”COEM“,”relationship“:”Self.COEM_COEP“,”fromRole“:”COEM_COEP_Target“,”toRole“ COEM_COEP_Source“}}
您可以清楚地看到属性”STARTDATE“和”ENDDATE“(可空的日期时间)没有包括在内。
这些属性未用[NotMapped]属性标记。它们应该包含在元数据中。我不能在这里发生什么问题。这些属性是我的MS SQL数据库中表中的字段。
奇怪的是我有STARTDATE日期时间属性的其他对象,它们正确返回元数据中。关于更多的事情:对象“COEP”是 主子女关系的第二级子女,其中COEP是二级子女。任何帮助,任何暗示什么可能出错将非常感激。谢谢
非常感谢@ward。我很匆忙,在最后期限之后,我没有看到它。还需要和短?是一个错误(复制粘贴...) – TheSoul