2017-01-17 1 views
1

を使用してセルの値を削除:これは 'AssignedExercises' と呼ばれる私のデータベーステーブルでEntityFramework

enter image description here

私は、この値を削除しようとしている:

<code>enter image description here</code>

これは私のコードです。 ..

var b = db.AssignedExercises.Where(m => m.Data_UserID.Equals(3)).FirstOrDefault(); 
db.AssignedExercises.Remove(b); 
db.SaveChanges(); 

全体的な列になります。私はそれをどのように変更すべきですか?

ありがとうございます!

+1

'b.Monday = null'なので – haim770

答えて

3

明示的エンティティオブジェクト表されるを除去しています。一方、カラムは、プロパティで表されます。その結果、オブジェクト自体のプロパティを更新する必要があります。また、FirstOrDefault()を直接使用することもできます... Where()は冗長です。

var b = db.AssignedExercises.FirstOrDefault(m => m.Data_UserID.Equals(3)); 
if (b != null) 
    b.Monday = null;  

db.SaveChanges(); 
+0

それは私が探していたものです!ありがとう – pingwin850

+0

@ pingwin850よろしくお願いします!お力になれて、嬉しいです! –

1

これは予想される動作です。

​​

をして、あなたが代わりに削除使用しての値を更新する必要が

db.SaveChanges(); 
1

を呼び出す:あなたが使用して値を編集することができます。削除した行を削除します。

var b = db.AssignedExercises.Where(m => m.Data_UserID.Equals(3)).FirstOrDefault(); 
b.Monday = NULL; //or DbNull if you need to 
db.SaveChanges(); 
2

「セルを削除する」ではなく、値を消去したいとしますか? 「月曜日」の列で表されるため、実際には「セルを削除する」ことはできません。その行では、値をクリアすることができます(NULLや空の文字列など)。あなたがそれを "削除"するならば、あなたはすべての行について列全体を削除するでしょう。

私は単にこれを行うだろう:

var b = db.AssignedExercises.Where(m =>m.Data_UserID.Equals(3)).FirstOrDefault(); 
b.Monday = ""; // if you want empty string, or set to DbNull 
db.SaveChanges(); 
関連する問題