2009-04-11 2 views
0

SQL Server 데이터베이스와 통신하는 작동하는 응용 프로그램이 있습니다. 이 응용 프로그램은 LinqToSQL을 사용합니다.다른 LinqToSQL 코드를 다른 데이터베이스와 호환되도록 변환하십시오.

여러 가지 이유로이 응용 프로그램을 대신 Microsoft Access를 사용하도록 변환하고 싶습니다. (데이터의 작은 세트, 동시 사용은 가능하지만 희소합니다. SQL Server에 액세스 할 수없는 컴퓨터에 배포하고 싶습니다. 전체 데이터베이스를 하나의 파일로 보내고 싶습니다. Microsoft Access 만 가지고있는 동료).

응용 프로그램 변환에 대해 어떻게해야합니까? LinqToSQL은 SQL Server 용으로 만 제공되므로 다른 개발자가 때때로 만나는 문제에 직면 해 있다고 생각합니다. 예를 들어 Oracle을 사용하는 새 사이트에 SQL Server 응용 프로그램을 제공 할 수 있습니다.

내가 생각할 수있는 유일한 전략은 LinqToSQL을 사용할 때마다 코드를 검색하여 ADO.NET을 사용하도록 변경하는 것입니다. 분명히 이것은 시간이 많이 걸리고 오류가 발생하기 쉬운 작업이 될 것입니다.

더 좋은 방법이 있습니까, 아니면 그냥 내 치아를 닦고 그걸로해야합니까? 내가 nHibernate 수 같은 것을 통해 더 일반적인 DAL로 전환 권하고 싶습니다

 var existing = 
      from ph in _dataContext.pub_hols 
      where ph.pub_hol_def_id == this._publicHolidayDefId 
       && 
      ph.pub_hol_date.Year == year 
      select ph; 
     _dataContext.pub_hols.DeleteAllOnSubmit(existing); 
     _dataContext.pub_hols.InsertAllOnSubmit(GetPublicHolidays(cellsForYear)); 
     _dataContext.SubmitChanges(); 

답변

0

:

코드의 조각은 예를 들어이 대화를하는 데 도움이 단지의 경우, 다음과 같습니다. 그러면 다음에 데이터베이스를 다시 전환해야하므로 아무 것도 변경할 필요가 없습니다. LINQ 쿼리의 복잡성에 따라 nHibernate LINQ 모듈에서 LINQ 쿼리를 사용할 수도 있습니다. 이 모듈은 아직 베타 버전이므로 직접 말할 수는 없습니다.

0

ADO.NET Entity Framework는 데이터베이스 간 데이터베이스이므로 현재 코드에 더 가깝습니다.

관련 문제