我想在数据库中插入一行,并且发生这样的错误:“参数1:无法从'EntityLayer.PriceList'转换为'DataLayer.tbl_PriceList'”。
我正在编写一个应用程序,其功能是在数据库表中添加一些行,所以我尝试了docs.microsoft.com中的一种方法。
在PriceLists.cs
namespace EntityLayer
{
public class PriceList
{
public int id { get; set; }
public string entry { get; set; }
public double price { get; set; }
}
}
在UserService.cs
using EntityLayer;
using DataLayer;
namespace BusinessLayer
{
public void insertNewTicket()
{
using (AquaparkDBDataContext db = new AquaparkDBDataContext())
{
PriceList pr = new PriceList
{
entry = "pobrane",
price = 0
};
db.tbl_PriceLists.InsertOnSubmit(pr);
db.SubmitChanges();
}
}
}
我希望数据库表“ tbl_PriceLists”能够更新,但我只会得到错误。
答案 0 :(得分:1)
您不能插入PriceList代替tbl_PriceLists。您的数据上下文不知道PriceList是什么。您必须将其映射。我假设您在tbl_PriceList上具有entry
和price
属性。
using (AquaparkDBDataContext db = new AquaparkDBDataContext())
{
PriceList pr = new PriceList
{
entry = "pobrane",
price = 0
};
db.tbl_PriceLists.InsertOnSubmit(new tbl_PriceLists{
entry = pr.entry,
price = pr.price
});
db.SubmitChanges();
}