Linq-to-SQL DataContext更新

时间:2012-05-12 09:04:03

标签: linq linq-to-sql datacontext

我收到此运行时异常

  

无法将“System.Data.SqlTypes.SqlDecimal”类型的对象强制转换为   输入'System.String'。

如何修复我的代码以获得没有例外的结果?

ProductsDataContext db = new ProductsDataContext(); 

var matchedproduct = db.GetTable<product>().SingleOrDefault(p =>p.ProductID==productID);

if (matchedproduct != null)               
   product.ProductName = txtpname.Text;

db.SubmitChanges();

1 个答案:

答案 0 :(得分:3)

如果您没有收到编译时错误,则因为您的dbml无法准确描述数据库中的列。您的对象认为它是一个字符串,但它在数据库中显然是一个小数。您应该在dbml编辑器中更新它。然后,当您设置产品名称时,您必须从文本中解析出小数值。