情况...
我正在为一个 asp.net 网站创建一个购物车。我有一个 Cart 对象,它将包含 CartItem 对象的列表。而不是为 CartItem 对象创建必要的属性,例如 ID、产品名称、描述、价格……我认为像这样简单地从数据集表中继承数据行会很聪明……
public class CartItem : DanubeDataSet.ProductsRow
{
public int Quantity { get; set; }
public CartItem(System.Data.DataRowBuilder rb) : base(rb)
{
Quantity = 1;
}
public decimal TotalCost
{
get
{
return Quantity * Price;
}
}
}
现在,如果我获取包含我想要的行的 DanubeDataSet.ProductsTable 对象,如何在我的基础对象中设置所有属性?这不工作...
DanubeDataSet.ProductsDataTable productTable = new DanubeDataSetTableAdapters.ProductsTableAdapter().GetProductByID(itemId);
CartItem newItem = (CartItem)productTable[0];
items.Add(newItem);
它不能从 DanubeDataSet.ProductsRow 类型转换为 CartItem。我理解为什么会这样,但是必须有一种方法可以将 ProductsRow 的数据移动到 CartItem,因为它包含 ProductsRow 的所有属性。我错了吗?
如果您有解决方案,请记住我不想更改 DanubeDataSet.ProductsRow 中的代码,因为它是自动生成的。谢谢你。