Ich habe Schwierigkeiten zu verstehen, wie Sie einen Enum-Wert in den entsprechenden Namen konvertieren. Mein Modell ist wie folgt:Abrufen einer Enum auf Clientseite
public class CatalogRule
{
public int ID { get; set; }
[Display(Name = "Catalog"), Required]
public int CatalogID { get; set; }
[Display(Name = "Item Rule"), Required]
public ItemType ItemRule { get; set; }
public string Items { get; set; }
[Display(Name = "Price Rule"), Required]
public PriceType PriceRule { get; set; }
[Display(Name = "Value"), Column(TypeName = "MONEY")]
public decimal PriceValue { get; set; }
[Display(Name = "Exclusive?")]
public bool Exclude { get; set; }
}
public enum ItemType
{
Catalog,
Category,
Group,
Item
}
public enum PriceType
{
Catalog,
Price_A,
Price_B,
Price_C
}
Eine Probe resultiert aus .net API:
[
{
$id: "1",
$type: "XYZ.CMgr.Models.CatalogRule, XYZ.CMgr",
ID: 1,
CatalogID: 501981,
ItemRule: 0,
Items: "198",
PriceRule: 1,
PriceValue: 0.5,
Exclude: false
},
{
$id: "2",
$type: "XYZ.CMgr.Models.CatalogRule, XYZ.CMgr",
ID: 2,
CatalogID: 501981,
ItemRule: 2,
Items: "9899",
PriceRule: 2,
PriceValue: 10.45,
Exclude: false
}
]
So in diesem Beispiel, ich brauche Katalog erhalten für Ergebnisse [0] .ItemRule & Preis A für Ergebnisse [0] .PriceRule. Wie kann ich das in BreezeJS erreichen?
Bei der Untersuchung dieses Problems habe ich festgestellt, dass Enum-Metadaten zwar im API-Aufruf "/ Metadata" vorhanden waren, aber auf der Clientseite von Breeze verworfen wurden. Danke für das Update Jay. –
Breeze v 1.2.1 wurde gerade veröffentlicht und enums können jetzt als Strings abgefragt werden und werden auch auf diese Weise materialisiert. –
Übrigens habe ich vor ein paar Minuten auch aktualisiert ...;) Diese Version löst das Problem, Danke ... –