次のように、ID でデータベース内の行を選択し、ID で選択された行よりも高い「位置」値を持つすべての行を選択しようとしています。
int id = Convert.ToInt32(Request.QueryString["id"]);
MyDataContext d = new MyDataContext
Item itemID = d.Items.Single(row => row.ID == id);
Item itemPos = d.Items.Select(row => row.Position > itemID.Position);
肝心なのは、明示的な変換が存在すると言っていますが、修正できないようです
これまでの回答を読んだ後、コードは次のようになります。
int id = Convert.ToInt32(Request.QueryString["id"]);
MyDataContext d = new MyDataContext
Item itemID = d.Items.Single(row => row.ID == id);
var itemPos = d.Items.Where(row => row.Position > itemID.Position);
しかし、選択した行の位置を編集しようとすると、間違っているようです:
itemPos.Position = itemPos.Position - 1;
その行が現在の位置を 1 減らすことを期待していたでしょう。
私はまだこのすべてに慣れていません。