无法隐式转换类型错误
Can not implicitly convert type error
我正在使用 entity framework 访问数据库并尝试在产品 class 中使用我的产品模型 class。但有些如何获得转换类型错误。
错误:无法将类型 'SporLife.Product' 隐式转换为 'SporLife.Pages.Product'
这是我的 ManageProduct class
namespace SporLife.Pages.Management
{
public partial class ManageProduct : System.Web.UI.Page
{
private void FillPage(int id)
{
//set selected product from DB
ProductModel model = new ProductModel();
Product product = model.GetProduct(id);//error appears here
//Fill textBoxes
txtDescription.Text = product.Description;
txtName.Text = product.Name;
txtPrice.Text = product.Price.ToString();
}}}
这是我的 ProductModel class
namespace SporLife.Models
{
public class ProductModel
{
public Product GetProduct(int id)
{
try
{
using (SporLifeDBEntities2 db = new SporLifeDBEntities2())
{
Product product = db.Products.First(i => i.ID == id);
return product;
}
}
catch (Exception e)
{
return null;
}
}}}
这里的问题是方法对象的 return
类型与您使用它的对象不匹配 :
Product product = model.GetProduct(id);//error appears here
您必须明确指定您希望它成为哪个对象:
SporLife.Product product = model.GetProduct(id);
与您的方法相同:
public SporLife.Product GetProduct(int id)
我以SporLife
为例。如果你想要 SporLife.Pages
作为 return 类型,你也可以使用它。这里的事情是在两种情况下指定确切的 return 类型,以便它们匹配。
希望这对您有所帮助。
本质上有两种不同类型的 Product
、SporLife.Product
和 SporLife.Pages.Product
。 model.GetProduct(id)
returns a 'SporLife.Product' 所以如果没问题,您需要更改调用代码以实现这一点。也许明确指定类型。
SporLife.Product product = model.GetProduct(id);//error appears here
我正在使用 entity framework 访问数据库并尝试在产品 class 中使用我的产品模型 class。但有些如何获得转换类型错误。
错误:无法将类型 'SporLife.Product' 隐式转换为 'SporLife.Pages.Product'
这是我的 ManageProduct class
namespace SporLife.Pages.Management
{
public partial class ManageProduct : System.Web.UI.Page
{
private void FillPage(int id)
{
//set selected product from DB
ProductModel model = new ProductModel();
Product product = model.GetProduct(id);//error appears here
//Fill textBoxes
txtDescription.Text = product.Description;
txtName.Text = product.Name;
txtPrice.Text = product.Price.ToString();
}}}
这是我的 ProductModel class
namespace SporLife.Models
{
public class ProductModel
{
public Product GetProduct(int id)
{
try
{
using (SporLifeDBEntities2 db = new SporLifeDBEntities2())
{
Product product = db.Products.First(i => i.ID == id);
return product;
}
}
catch (Exception e)
{
return null;
}
}}}
这里的问题是方法对象的 return
类型与您使用它的对象不匹配 :
Product product = model.GetProduct(id);//error appears here
您必须明确指定您希望它成为哪个对象:
SporLife.Product product = model.GetProduct(id);
与您的方法相同:
public SporLife.Product GetProduct(int id)
我以SporLife
为例。如果你想要 SporLife.Pages
作为 return 类型,你也可以使用它。这里的事情是在两种情况下指定确切的 return 类型,以便它们匹配。
希望这对您有所帮助。
本质上有两种不同类型的 Product
、SporLife.Product
和 SporLife.Pages.Product
。 model.GetProduct(id)
returns a 'SporLife.Product' 所以如果没问题,您需要更改调用代码以实现这一点。也许明确指定类型。
SporLife.Product product = model.GetProduct(id);//error appears here