ローカルデータベースキャッシュとしても利用できるSQL Server Compact(以下、Ce)。これがなかなか使いづらい。
xmlなどデータ型が対応していなかったり、SQL文は、一文づつしか発行できなかったり、ユーザー定義関数もストアドプロシージャーもない。
sysobjectsなどのシステムテーブルもない。
ローカルデータベースキャッシュでは、アソシエーションまでレプリケートされない。
泥沼にはまったのは、Entity Framework だ。
from i in cx.HogeEntitySet where i.Name==stringFuga select i; で、エラー。が出て、そのエラーが「ntext型とかimageとかはクエリできないよ」的なエラーで、これには参った。
これは、バグらしく、以下のページを見つけて、何とか切り抜けた。
http://social.msdn.microsoft.com/Forums/en-US/sqlce/thread/b6bac277-cf66-4c74-a0b3-e48abedbd161/
これは、こう書けば解決。 cx.HogeEntitySet.Where(string.Format("it.[Name] == '{0}'", stringFuga)