문제

나는 단지 사용하기 시작했 Linq to SQL,그리고 나는지 궁금하면 사람은 어떤 모범 사례를 공유할 수 있는 관리를 위한 dbml 파일이 있습니다.

  • 어떻게 당신이 그들을 최신으로 데이터베이스?
  • 당신은 단일 dbml 파일을 위해 전체 데이터베이스,또는 그 분으로 여러 논리 단위입니까?
  • 는 어떻게 관리 이 파일에서 작업 환경 팀?

다른 팁과 트릭을 환영합니다.

도움이 되었습니까?

해결책

당신은 보 SqlMetal?그것은 공식적으로 지원하지 않지만,추진 너무 많.당신을 구축하는 데 사용할 수 있습 dbmls 에서 명령행-우리는데 사용되는 그것의 일부분으로 db 의 지속적인 통합 업데이트가(당신이 있는지 확인을 정말 좋은 코드를 분리 할 경우에 당신이 비록-부분적인 클래스가 구세주로 dbml 덮어 얻을 것이다).

면 내가 올바르게 기억하지 않은 매우 동일한 기능을 모델로 디자이너 Visual Studio(고 생각 처리하 pluralisation 다르게).가 좋은 포스트에서 그것에 대해 벤 홀의 블로그.

다른 팁

는 사실 L2S 디자이너를 지원하지 않기로 데이터베이스 구조는 거대한 제한에 내 마음입니다.그러나,거기에 추가 기능을 사용하는 일부를 제공합을 다시 동기화 기능:

http://www.huagati.com/dbmltools/

불행하게도,그것은 더 이상 무료입니다.

당신이 요구하기 때문에 다른 팁과 트릭 관리를 위한 DBML...

때 DBML 파일을 새로 데이터베이스에서,특정 스키마를 설정하는 그들이 선택하지 않은에서와 같은 기본 열 값을 강제로,당신 수동으로 설정을 변경합니다.이하로 이어질 수 있습니다 시간이 모든 고 DBML 없이 실현하거나 기억할 필요가 있을 수동으로 조정하고,당신의 코드가 시작됩니다.

하는 하나의 트릭은 단위 테스트를 작성하고 사용하는 반사를 확인하 LINQ 메타데이터에 대한 사람들(수동)설정합니다.테스트가 실패하면,그것은 간단한 설명이 포함된 오류 메시지,사용자에게 적절한 변경을 열 속성입니다.그것은 완벽한 솔루션을 되지 않을 수도 있습니다 편리하는 경우에 당신은 많은 설명서,설정을 하지만 그것을 방지 할 수 있습니다 몇 가지 중요한 고통을 위해 자신과 당신의 팀이 있습니다.

여기에 예 nunit 를 확인하는 테스트는 열을 설정하면 자동으로 생성에서 DB.

    [Test]
    public void TestMetaData()
    {
        MyObj my_obj = new MyObj()
        {
            Foo = "bar",
        };

        Type type = MyObj.GetType();
        PropertyInfo prop = type.GetProperty("UpdatedOn");
        IEnumerable<ColumnAttribute> info = (IEnumerable<ColumnAttribute>)prop.GetCustomAttributes(typeof(ColumnAttribute), true);
        Assert.IsTrue(
            info.Any<ColumnAttribute>(x => x.IsDbGenerated == true), 
            "The DBML file needs to have MyObj.UpdatedOn AutoGenerated == true set. This must be done manually if the DBML for this table gets refreshed from the database."
        );
    }

PLINQO 트 코드의 생성 템플릿을 생성하 LINQ to SQL.그것은 동기화를 지원합 데이터베이스와 분할 엔터티를 여러 개의 클래스가 다른 많은 기능과 함께하는 LINQ to SQL 사용하기 쉽습니다.

체크아웃 PLINQO 사이트 http://www.plinqo.com 뿐만 아니라 소개 동영상입니다.

여기에 대한 링크를 제공하는 좋은 정보에 대해 LINQ to SQL 모범 사례

http://www.a2zmenu.com/LINQ/LINQ%20to%20SQL%20Best%20Practice.aspx

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