私はééíúñのような特殊文字を使用して名前を挿入する必要があるアプリケーションを開発しています.LineqをVisual C#でエンティティに使用しています。エンティティへのLinqとSQL_Latin1_General_CP1_CI_AI
データベースサーバーがSQL 2008 expressで、データベースの既定の照合順序がSQL_Latin1_General_CP1251_CI_ASですが、フィールドの照合順序をSQL_Latin1_General_CP1_CI_AIに変更して、上記の特殊文字を挿入する必要があります。
私はこのようなコード使用して特殊文字を含む名前を挿入した場合:
Cliente cli = new Cliente()
{
Nombres = cliente.nombres,
ApellidoP = cliente.apellidoP,
ApellidoM = cliente.apellidoM,
FechaNac = cliente.fechaNacimiento
};
context.clientes.AddObject(cli);
context.SaveChanges();
特殊文字はそれらと同等に翻訳されているが、私は直接データベース(管理スタジオ)に特殊文字を含む名前を挿入した場合Iこれらの文字を挿入する際に問題はありません。
Visual Studioでプロジェクトを作成した後、フィールドの照合順序をSQL_Latin1_General_CP1_CI_AIに変更したため、データベースからモデルを更新すると問題は解決すると思っていましたが、間違っていました。 私は、Clienteオブジェクトの新しいインスタンスを作成するときに特殊文字が存在するかどうかをチェックするためにデバッガを使用しました。
何が問題なのですか?
Internet Explorerで値を更新するときも同様の問題がありましたが、FirefoxとChromeの場合は問題はありませんでした。これは$ .post()を使用したときに行われました。 –
ありがとう@Huskeしかし、私の問題はwinformsです –