none
LINQ to SQLを使ってのユニコード文字の更新について RRS feed

  • 質問

  • いつもお世話になっております。

    環境 : VB.NET 2008 sp 1
    DB  : SQL Server 2008

    LINQ to SQLでSQLServer2008に接続し、データの取得と更新をおこなっています。

    その中で、nvarcharのフィールドにUNICODE文字をセットしたいのですが、
    ADO.NETなどではNプレフィックスを使用していましたが、
    LINQ to SQL ではどのようにすればよろしいのでしょうか?

    どなたか御教授願います。宜しくお願いします。

    --------- プログラム ------------------------------

        Dim inData As New JUKO_TBL

        With inData
            .ITEM_CD = ClassVal
            .NAME_SEI = txtNameSei.Text
            .NAME_MEI = txtNameMei.Text
        End With

        dc.JUKO_TBL.InsertOnSubmit(inData)

    上記の感じで、テーブル更新をおこなっています。
    JUKO_TBL.NAME_SEI、.NAME_MEIはnvarchar型で、ここにユニコード文字をセットしたいのです。
    2010年3月15日 9:27

回答

すべての返信

  • nchar, nvarchar, ntext 型のフィールドであれば、自動的に ucs-2 で保存されているはずです。
    2010年3月15日 11:51
  • ありがとうございます。


    やはり、そうなのですか・・・

    色々な情報を調べてみたのですが、LINQ側で設定しなくてもよさそうなのですが、上手くいかずに困っていました。

    もしかしたら、自分のプロジェクトの設定漏れ、ミス等があるかもしれないので、明日もう一度設定の見直しをしたいと思います。
    2010年3月15日 12:48
  • 大変申し訳ありませんでした。

    こちらの確認ミスでした。

    DBのデータ型をVARCHAR -> NVARCHARに変換してテストしていたつもりが、
    変換していない、元のDBを見た状態となっていました・・・・

    NVARCHARに変換後、プログラムをリビルドすれば、特別プログラムを変更することなく、ユニコード文字の登録をすることができました。


    どうもありがとうございました。
    2010年3月16日 1:40