Vic*_*nak 8 c# linq linq-to-sql
我正在尝试将数据插入到包含2个表的数据库中
产品
(ProductID):1
(IDNumber):200900110
(ProductName):百事可乐
订单
(OrderID):1(自动递增1)
(ProductID):1
(日期):1/1/2009
代码是这样的:
var db = new ProductOrder();
var idNum = from p in db.Product
where p.IDNumber == 200900110
select p.ProductID;
var order = new Order();
order.productID = Convert.ToInt32(idNum);
order.Date = DateTime.Now;
db.Order.InsertOnSubmit(nTime);
db.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)
我运行后给了我这样的错误:
无法将类型为'System.Data.Linq.DataQuery`1 [System.Int32]'的对象强制转换为'System.IConvertible'
Ron*_*erg 29
您的查询:
from p in db.Product
where p.IDNumber == 200900110
select p.ProductID
Run Code Online (Sandbox Code Playgroud)
不会返回单个结果,而是返回结果列表.在您的情况下,这将是一个包含单个产品ID的列表.您应该将其修改为:
(from p in db.Product
where p.IDNumber == 200900110
select p.ProductID).Single()
Run Code Online (Sandbox Code Playgroud)
如果您在调试器中运行代码并将鼠标悬停在idNum变量上,您将看到它是一个DataQuery实例.
| 归档时间: |
|
| 查看次数: |
42140 次 |
| 最近记录: |