Kann nicht implizit konvertiert Typ-System.Sammlung.Generisches.IEnumberable
Bin ich diese Fehlermeldung in meiner Linq-Anweisung ---
Kann nicht implizit konvertiert Typ 'System.Sammlungen.Generisches.IEnumerable' zu 'hcgames.ObjectClasses.Warenkorb.ShoppingCartCartAddon'. Eine explizite Konvertierung vorhanden ist (fehlt ein cast?)
Dieser Abfrage
ShoppingCartItems items = Cart.GetAllItems();
ShoppingCartCartAddons addons = Cart.GetAllAddons();
var stuff = from x in items
select new ShoppingCartItem()
{
ProductID = x.ProductID,
Quantity = x.Quantity,
Name = x.Name,
Price = x.Price,
Weight = x.Weight,
Addons = (from y in addons
where y.ShoppingCartItemID == x.ID
select y)
};
Ich kann nicht herausfinden, wie zu werfen, diese richtig. Irgendwelche Vorschläge?
Vielen Dank für Ihre Hilfe!
Können Sie nach
namespace hcgames.ObjectClasses.Warenkorb { [Serializable] public class ShoppingCartItem { public ShoppingCartItem(); public ShoppingCartItem(DataRow dr); public ShoppingCartCartAddons Addons { get; set; } public string CartID { get; set; } public int ID { get; set; } public string Bild { get; set; } public string Name { get; set; } public string Price { get; set; } public long ProductID { get; set; } public int Quantity { get; set; } public decimal-Gewicht { get; set; } } }
verwenden von System; verwenden von System.Sammlungen.ObjectModel; namespace hcgames.ObjectClasses.Warenkorb { [Serializable] public class ShoppingCartCartAddons : Sammlung<ShoppingCartCartAddon> { öffentlich ShoppingCartCartAddons(); } }
namespace hcgames.ObjectClasses.Warenkorb { [Serializable] public class ShoppingCartCartAddon { public ShoppingCartCartAddon(); public ShoppingCartCartAddon(DataRow dr); public string LabelText { get; set; } public string Name { get; set; } public decimal Price { get; set; } public int ProductAddonID { get; set; } public decimal Menge { get; set; } public long ShoppingCartAddonID { get; set; } public long ShoppingCartItemID { get; set; } public decimal-Gewicht { get; set; } } }
Aight, bearbeitet meine Antwort, und für die Zukunft, Sie können Ihre Frage stellen, um weitere details hinzuzufügen (und shiny-formatierten code) zu tun, anstatt es in die Kommentare 🙂
ShoppingCartCartAddons
und ShoppingCartItems.Addons
Signaturen ?namespace hcgames.ObjectClasses.Warenkorb { [Serializable] public class ShoppingCartItem { public ShoppingCartItem(); public ShoppingCartItem(DataRow dr); public ShoppingCartCartAddons Addons { get; set; } public string CartID { get; set; } public int ID { get; set; } public string Bild { get; set; } public string Name { get; set; } public string Price { get; set; } public long ProductID { get; set; } public int Quantity { get; set; } public decimal-Gewicht { get; set; } } }
verwenden von System; verwenden von System.Sammlungen.ObjectModel; namespace hcgames.ObjectClasses.Warenkorb { [Serializable] public class ShoppingCartCartAddons : Sammlung<ShoppingCartCartAddon> { öffentlich ShoppingCartCartAddons(); } }
namespace hcgames.ObjectClasses.Warenkorb { [Serializable] public class ShoppingCartCartAddon { public ShoppingCartCartAddon(); public ShoppingCartCartAddon(DataRow dr); public string LabelText { get; set; } public string Name { get; set; } public decimal Price { get; set; } public int ProductAddonID { get; set; } public decimal Menge { get; set; } public long ShoppingCartAddonID { get; set; } public long ShoppingCartItemID { get; set; } public decimal-Gewicht { get; set; } } }
Aight, bearbeitet meine Antwort, und für die Zukunft, Sie können Ihre Frage stellen, um weitere details hinzuzufügen (und shiny-formatierten code) zu tun, anstatt es in die Kommentare 🙂
InformationsquelleAutor TheGeekYouNeed | 2010-03-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Anbetracht der code, den Sie geschrieben, es gibt mindestens eine Möglichkeiten, wie Sie es lösen können. Die einfachere, weniger elegant, ist zu ändern Sie Ihre
ShoppingCartItem.Addons
Signatur wie die folgende, da Ihr ShoppingCartCartAddons Sammlung nicht noch andere Funktionen :Erklärung : Sie sind im Grunde versucht, zu initialisieren, eine
Collection<ShoppingCartCartAddon>
UmsetzungShoppingCartCartAddons
aus einerIEnumerable<ShoppingCartCartAddon>
, also compiler geht wonkers.Andernfalls können Sie definieren einen contructor für
ShoppingCartCartAddons
die in einemIEnumerable<ShoppingCartCartAddon>
zu intialize selbst.InformationsquelleAutor Dynami Le Savard
Ich schieße in die Dunkelheit, da weiß ich nicht, welche Art
ShoppingCartItem.Addons
ist, aber nach der Fehlermeldung würde ich sagen, es erwartet, dass der Typ zu seinhcgames.ObjectClasses.ShoppingCart.ShoppingCartCartAddon
Ihre LINQ-Abfrage ist die Verwandlung eines
IEnumerable<ShoppingCartCartAddon>
. Man könnte hinzufügen.FirstOrDefault()
um die LINQ-Abfrage zu sehen, ob das klärt die Sache.InformationsquelleAutor Justin Niessner