정기적으로 Linq To SQL 클래스를 새로 고쳐야합니다. 네, 내 데이터 스키마에 대해 철저히 생각하지 않아서 부끄러워합니다. 나쁜 개발자, 광고 nauseum. SQLMetal이 거의 속임수라는 것을 알았지 만 매개 변수 목록에서 뭔가 빠졌습니다. SQLMetal은 클래스를 생성하지만 매개 변수없는 생성자는 생성하지 않습니다.
내가 비주얼 스튜디오 외부 도구를 사용하여 내 빛나는 새로운 도구 모음 단추에서 내 배치 파일을 실행
,@echo off
del c:\path\to\LinqToSql.dbml
SQLMetal.exe /server:SERVER\SQLSERVER /database:db /timeout:0 /dbml:"c:\path\to\LinqToSql.dbml" /namespace:DAL /context:DataDataContext /entitybase:System.Data.Linq.DataContext /language:csharp /pluralize
SqlMetal은 만세의하면 .dbml 파일을 생성합니다. 그러나 질문 1 프로그래밍 방식으로 .dbml 파일을 프로젝트에 포함 할 수 있습니까?
질문 2
왜, 내가 할 후 수동으로 새로 생성하면 .dbml 파일을 포함하여 컴파일 할 때 내 각 클래스 가지고있는 자신의 매개 변수가없는 생성자의 행 번호와 관련된 오류를 구축 다음? 예 : 30 테이블 = 30 빌드 오류.
'System.Data.Linq.DataContext' does not contain a constructor that takes 0 arguments
내 DataDataContext
생성 된 클래스는 매개 변수없는 생성자가없는 예고, 그래서 보완 할 부분 클래스를 추가,하지만 여전히 트릭을하지 않는 한 실제
public partial class DataDataContext
{
public DataDataContext() :
base(global::DAL.Properties.Settings.Default.MyConnectionString, mappingSource)
{
OnCreated();
}
}
나는이 새로 고침 프로세스를 자동화 할 수 있지만, 수동으로 나를 위해 작동하지 않습니다이 생성자 오류를 생성하는 생성하면 .dbml 파일을 추가 거라 생각 했어요.
추가 된 bounty. OP Designer를 문제없이 사용했지만 SQL Compact로 작업하고 SQLMetal을 거치면서 많은 사람들이 매개 변수가없는 생성자를 생성하는 방법을 알고 싶어합니다. – aevanko