linqtoentitiesを使用してlinqクエリで埋められたdatagridviewからSQLデータベースを更新する方法を理解するのに苦労しています。
3つのテーブルからデータを取得します。次のクエリを使用したアイテム、ミッション、およびlinkMissionItem:
var itemList = from x in me.LinkMissionItem
join i in me.items on x.itemID equals i.itemID
join m in me.Missions on x.missionID equals m.MissionID
where m.MissionNo == selectedMission
orderby i.categoryID, i.name
select new { i.itemID,
i.name,
x.Role,
i.Type.typeName,
i.Category.categoryName,
i.model,
i.serialNo,
i.Origin.originCountry,
i.cost,
x.Packaging };
クエリが、3つのテーブルすべてからいくつかの列を取得し、それを次のようにdatagridviewにバインドする匿名型を提供することを理解しています。
dgvMissionItems.DataSource = itemList.ToList();
datagridviewを読み取り専用にします。ちなみに、私は現在、パッケージングフィールドをプログラムで更新していますが、問題ありません。
ただし、datagridviewを使用することの優れている点は、個々のセルを編集してデータを追加または変更できることです。ユーザーがlinkMissionItemテーブルのRoleフィールドを編集できるようにする必要があります。datagridviewにエンティティLinkMissionTableのみを入力すると(変更可能になります)、ユーザーの情報はわかりにくく、不明確になります。
私はこの問題を誤解しているか、おそらく間違った方法で攻撃しており、仕事を成し遂げる方法についてのアドバイスを切実に必要としています。私はまだインターネットやこのテーマに関する本で何も見つけることができていません。