我正在努力了解如何从使用 linq 到实体的 linq 查询填充的 datagridview 更新 SQL 数据库。
我从三个表中提取数据;具有以下查询的项目、任务和链接任务项:
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 };
我知道查询提供了一个匿名类型,从所有三个表中提取一些列并将其绑定到 datagridview,如下所示:
dgvMissionItems.DataSource = itemList.ToList();
使 datagridview 只读。顺便说一句,我目前以编程方式更新 Packaging 字段,没问题。
但是拥有 datagridview 的好处是通过编辑单个单元格来添加或更改其中的数据。我需要允许用户从 linkMissionItem 表中编辑 Role 字段。如果我只用实体 LinkMissionTable 填充数据网格视图(使其可修改),则用户的信息不友好且不清楚。
我误解或正在以错误的方式解决这个问题,我迫切需要一些关于如何完成工作的建议。我还没有在互联网上或在我所拥有的关于这个主题的书中找到任何东西。