2012-01-24 2 views
0

詳細フォームでデータバインディングを使用して、データソースに新しいエンティティを追加するにはどうすればよいですか?私は、オブジェクトのデータソースを作成し、データの詳細フィールドにバインドされたバインディングソースとbindingNavigatorコントロールをフォームに自動的に追加する '詳細'としてフォームにドラッグしました。私は例外なく実行される次のコードを持っていますが、[新規追加]をクリックして[保存]をクリックすると、新しい分岐レコードは追加されません。詳細フォームにデータバインディングを介して新しいエンティティを追加する。

private void BranchEditForm_Load(object sender, EventArgs e) 
{ 
    branchBindingSource.DataSource = _loansEntities.Branches; 
} 

private void branchBindingNavigatorSaveItem_Click(object sender, EventArgs e) 
{ 
    _loansEntities.SaveChanges(SaveOptions.AcceptAllChangesAfterSave); 
} 

デフォルトのグリッドではなく、Entity Frameworkのデータバインディングの例がないようです。

答えて

0

SaveChangesメソッドを呼び出してデータソースにレコードをコミットする前に、モデル内の関連するaddメソッドを呼び出すことによって、詳細フォームを通じて生成された新しいレコードを追加することができます。

AddToBranchesというメソッドがあり、引数としてBranchオブジェクトを受け取ると仮定すると、このコードではこの問題が解決される可能性があります。

_loanEntities.AddToBranches((Branch)branchBindingSource.Current)); 
_loansEntities.SaveChanges(SaveOptions.AcceptAllChangesAfterSave); 
関連する問題