私はLINQを初めて使用しています。LINQ書き込み可能な複数のテーブルフィールドを選択します。
ユーザーが編集できるようにDataGridViewにバインドされたLINQオブジェクトが含まれています。単純な1つのテーブルクエリの 、それはうまく行くが、結果は、複数のテーブルを持つLINQクエリをビルドする方法は、結果はまだ読み取り/書き込みですか?
ここで私が何を意味するかの例:この単純なクエリで
GMR.Data.GMR_Entities GMR = new GMR.Data.GMR_Entities();
var dt = from Msg in GMR.tblMessages
join lang in GMR.tblDomVals on 1 equals 1//on Msg.pLangueID equals lang.ID
select Msg;
// select new {lang.DescrFr, Msg.Message,Msg.pLangueID } ;
this.dataGridView1.DataSource = dt;
私はselect文で唯一の「メッセージ」を返す場合、グリッドは編集することができます。しかし、もし私が選択した文をselect new {lang.DescrFr、Msg.Message、Msg.pLangueID}に置き換えれば;グリッドは読み取り専用です。 クエリの結果が匿名型なので、これが原因であることは容易に理解できます。 テーブルにtblMessageを書き込み可能にする方法はありますか?
元のテーブルは変更されません。 – SLaks
@SLaks警告のおかげで問題を誤解しているかもしれません。 – Bastardo
@RoboLover、非常に多くの感謝! – Hugo