データグリッドから選択された (GUID 上の) 項目を検索すると、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが表示されます。項目が Guid を正しく返すことを (ページのラベルに書き込むことによって) 確認しましたが、私の linq クエリでは (私は推測します) 間違って比較しています。
ctx は domaindatasource です。削除しようとしている要素が存在することはわかっています。
private void medItemRemove_Click(object sender, RoutedEventArgs e)
{
MedicineInventory M = (MedicineInventory)medicineInventoryDataGrid.SelectedItem;
Guid Mid = M.MedicineInventoryId;
MedicineInventory toRemove = new MedicineInventory();
toRemove = (from a in ctx.MedicineInventories where (a.MedicineInventoryId == Mid) select a).Single();
ctx.MedicineInventories.Remove(toRemove);
ctx.SubmitChanges();
}