拝啓、さかもとと申します

SQL Compact 3.5とLINQ to SQL

 

LINQ To SQLとSQL Server Compactはもちろん利用できます。

ただし、VisualStudioのデザイナ上からはdbmlファイルを作成することができません。サーバーエクスプローラーからドラッグしてデザイナ上に展開しようとすると、エラーが発生します。

 

このことは以下のURLに記載されています。

 http://msdn.microsoft.com/ja-jp/bb386929.aspx

------------------------------引用

SQL Server Compact 3.5 は LINQ to SQL ランタイムではサポートされますが、オブジェクト リレーショナル デザイナではサポートされません。この場合、独自のエンティティ クラスを作成して適切な属性を追加する必要があります。

 ------------------------------

 

どうやってdbmlファイルを作成するかというと。

SqlMetal.exeを利用します。

 

C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SqlMetal.exe

 

SqlMetal.exeを使ってコマンドたたくとdbmlファイルが作成されるので、作成後のファイルをソリューションに追加するとデザイナで作成するのと同じ結果になります。

 

例)

C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SqlMetal.exe /dbml:C:\hoge.dbml c:\hoge.sdf


で実行してあげるとファイルが作成されます。この例だとCドライブの直下に作成されますので、それをVisualStudioでソリューションに追加してあげればOK。