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
});
(익명 형식의 속성 이름은 [I가에 표시 할 언어] 헝가리어로 유의하시기 바랍니다, 번역 : 다른 언어는 ...
그래서 나는 익명 형식을 사용하는 방법에 대한 생각 영어)이로 인해 데이터 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'엔터티 형식의 명시 적 생성이 허용되지 않습니다.
그래서 올바른 방법은 무엇입니까? 별칭 열 이름을 표시 할 수 있지만 데이터를 편집 가능한 상태로 유지하려면 어떻게해야합니까?
미리 감사드립니다.
오, 젠장 ... 나는 그것을 다시 복잡하게 만들었다 ... 다시! 고맙습니다! – ShdNx