LINQ to SQLとDataGridViewsを使用して、データベースの編集可能なユーザーインターフェイスを作成しています。
私の問題は、データベースの結果をフェッチするときにカラム名を変換する必要があることです。なぜなら、データベース内のすべての名前はVisual Studioスタジオのクラスデザイナでサポートされている唯一の言語ですが、異なる言語...LINQ to SQL、匿名型は読み取り専用です
は、だから私は匿名型を使用して考えた:
c_dgvShops.DataSource = (from Shop s in DataContext.Shops
select new
{
Azonosito = s.Shop_ID,
Nev = s.Name,
Megye = s.County,
Iranyitoszam = s.Zipcode,
Cim = s.Address,
Latogatasok_szama = s.Visits.Count
});
(から翻訳、[私はで表示しなければならない言語]匿名型のプロパティ名はハンガリー語であることに注意してください英語)
この結果、データGridViewsは読み取り専用です。
私はいくつかのGoogle検索を行い、これを見つけました: http://blogs.msdn.com/swiss_dpe_team/archive/2008/01/25/using-your-own-defined-type-in-a-linq-query-expression.aspx
は、この記事をもとに、私は「ボルト」と呼ばれる新しいクラス(ショップハンガリー同等)を作成し、翻訳されたプロパティ名とそれを埋め、そのクエリはなった:
c_dgvShops.DataSource = (from Shop s in DataContext.Shops
select new Bolt
{
Azonosito = s.Shop_ID,
Nev = s.Name,
Megye = s.County,
Iranyitoszam = s.Zipcode,
Cim = s.Address,
Latogatasok_szama = s.Visits.Count()
});
それは私には全く明らかではないが、どのようにしてDataGridViewに表示されたデータを編集することができたら、私は試して例外が発生しました:
NotSupportedException:クエリのエンティティタイプ 'DataTest_L2SQL.Bolt'の明示的な構築が許可されていません。
これを行う正しい方法は何ですか?エイリアス列名を表示するにはどうすればよいですか?
ありがとうございます!
ああ、それは...私はそれをovercomplicated ...再び!ありがとうございました! – ShdNx