2016-05-31 9 views
0

2.xから3.xのnpgsqlを2.xから更新しました。リリースノートによれば、私たちは+ 200k行(where文で+2 "OR"句を持つクエリ)。Npgsqlポート2.xから3.x/'NpgsqlTypes.BitString'

本当の問題は、linq2dbを使用してログインテーブルにアクセスしようとすると、次のような例外が発生することです。 "アセンブリから型 'NpgsqlTypes.BitString' をロードできませんでした。 'Npgsqlの、バージョン= 3.1.3.0、文化=中立、なPublicKeyToken = 5d8b90d52f46fda7'。"

私はlinq2dbを更新しようとしたし、私はdiferentエラーを得ました: "KeyWord Excpetion"

はあなたのすべては、この問題の谷行きましたどのように使用されたクエリ

var user = (from u in db.Usuario 
       where u.Email == model.UserName 
        && u.Senha == model.Password 
       select u).FirstOrDefault(); 

に従いますか?これを回避するにはどうすればよいですか?

事前に感謝していることを願っています。

答えて

1

3.0の移行ノートで説明したように、NpgsqlのBitString型は3.0では削除され、標準の.NET型のBitArrayに置き換えられました。コードを変更する必要があります。

+0

申し訳ありませんが、私は開発の世界で新しいので、ヒントを教えてください。どんな文書でも安心できるでしょう –

+0

あなたのコードがどのようなものか分かりません。再コンパイルから始めると、BitStringがないのでコンパイルエラーが発生します。 BitStringが.NET BitArrayによって使用される場所を置き換える必要があります。ここにはMSDNのドキュメントがあります:https://msdn.microsoft.com/en-us/library/system.collections.bitarray(v=vs.110) .aspx –

+0

シェイ・ロヤンスキー、ありがとうございます。多くの研究の後、私は答えを得て、それはかなり簡単です。私は自分のコードに直接BitStringのどれも持っていないが、私の古いlinq2dbはないと思った。その後、Linqのバージョンを更新し、接続文字列からKeyWord "Protocol"を削除しました。このパラメータは推奨されませんでしたか?あなたはそれの洞察力を知っていますか?あなたの忍耐を賞賛しました。 –

関連する問題