Mono에서 MySql 데이터베이스와 함께 Linq를 어떻게 사용할 수 있나요?

StackOverflow https://stackoverflow.com/questions/42212

  •  09-06-2019
  •  | 
  •  

문제

MySql 데이터베이스와 상호 작용하는 C# 코드에 Linq 기능을 제공하는 수많은 라이브러리가 있습니다.그 중 Mono에서 가장 안정적이고 사용하기 쉬운 것은 무엇입니까?

배경(대부분 관련 없음):MySql 데이터베이스의 값을 업데이트하는 간단한 C#(.Net 2.0) 프로그램이 있습니다.cron 작업을 통해 야간에 실행되며 Pentium 3 450Mhz, Linux + Mono에서 실행됩니다.주로 연습용으로 Linq(.Net 3.5)를 사용하여 다시 작성하고 싶습니다(아직 Linq를 사용하지 않았습니다).

도움이 되었습니까?

해결책

MySql의 유일한 (무료) linq 공급자는 다음과 같습니다. DbLinq, 그리고 나는 이것이 생산 준비가 되려면 아직 멀었다고 생각합니다.

도 있습니다 마이다이렉트넷 상업용이지만 그 기능에 대해 엇갈린 리뷰를 들었습니다.

MySql이 .net 커넥터의 5.3 버전에 대해 Linq to Entities API를 구현할 것이라는 내용을 읽었지만 이에 대한 일정이 있는지는 모르겠습니다.실제로 MySql은 몇 달 동안 Entity Framework 지원에 대해 전혀 침묵했습니다.


부록:MySql Connector/Net 6.0의 최신 릴리스는 릴리스 노트에 따라 EF를 지원합니다.이것이 얼마나 안정적이고 유용한지 잘 모르겠습니다. 따라서 사용해 본 사람의 의견을 듣고 싶습니다.

다른 팁

에 따르면 모노 로드맵 Linq를 모노로 사용할 수 있는지 잘 모르겠습니다.

Linq 중 적어도 일부는 최신 릴리스에서 사용할 수 있지만 Linq to DB는 Mono 2.4(2009년 2월)용으로 나열되어 있습니다.

Mono에 대해서는 잘 모르겠지만 방금 사용하기 시작했습니다. 빛의 속도 LINQ-to-MySQL을 지원합니다.

현재로서는 linq to sql을 사용할 수 없습니다. 타사 linq mysql 공급자나 linq to 엔터티를 살펴볼 수도 있습니다.linq to sql은 SQL Server 데이터베이스에서만 작동합니다.

LINQ to SQL은 코드에서 쿼리를 쉽게 구성할 수 있도록 식의 강력한 기능을 활용하는 단순한 ORM 계층입니다.

도구에 대한 임시 쿼리를 호출하는 경우에는 LINQ를 사용할 필요가 거의 없으며 코드에 추상화 계층을 추가하기만 하면 됩니다.

나는 튜토리얼을 시도했다 http://www.primaryobjects.com/CMS/Article100.aspx.이는 dblinq/dbmetal을 사용하여 각 테이블에 대한 데이터 컨텍스트 클래스와 클래스를 생성합니다.

처리되지 않은 예외(MySql.Data.Types.MySqlConversionException:MySQL 날짜/시간 값을 System.DateTime으로 변환할 수 없습니다.").인터넷 검색은 "제로 dateTime = true;"를 추가하여 쉽게 해결해야한다고 밝혔다. 연결 문자열에.불행히도 이것은 내 문제를 해결하지 못하는 것으로 나타났습니다.MySQL .Net 커넥터가 비난을 받았다고 생각하여 MySQL 커넥터를 사용하여 linq2sql 중간 계층 없이 dblinq에 의해 생성된 SQL을 실행했습니다.이번에는 예외가 발생하지 않았습니다.날짜 열이 없는 테이블은 DbLinq에서 작동했습니다.따라서 내 실험에서 나는 Adam의 의견에 동의합니다. DbLinq는 프로덕션 준비가 아직 멀었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top