Linq-To-Sqlクラスでマップされたデータベースがあります。私はいくつかの基本的なクエリを実行しようとすると、子テーブルにアクセスしようとするとInvalidCastExceptionで失敗します。Linq-to-SQL子テーブルを取得するとInvalidCastExceptionがスローされます
var query = (from p in PBZGdb.Instance.AuthenticationDatas
where p.Username == "Misha" && p.Password == "123"
select new { p.UserAccount }).AsEnumerable();
UserAccount UA = query.ElementAt(0).UserAccount; //this works!
int count = UA.Characters.Count(); //throws InvalidCastException here
と
var query = (from p in PBZGdb.Instance.AuthenticationDatas
where p.Username == "Misha" && p.Password == "123"
select new
{
p.UserAccount,
p.UserAccount.Characters
}) .AsEnumerable();
UserAccount UA = query.ElementAt(0).UserAccount; //throws InvalidCastException here
私だけ例外が数秒後にアプリケーションを一時停止した後、それはデータを「取得」と何の問題も進行しない継続しよう。誰かが前にこのような何かを遭遇しましたか?どうすれば解決できますか?
P.S. CharactersテーブルはUserAccountsに外部キーでリンクされています。 UserAccountは複数の文字を持つことができます。
どのプロバイダを使用しますか? *実際の* SQLクエリが出力に表示されますか? – Tigran
ここに十分な情報があるかどうかはわかりません。個々の 'Character'レコード、つまり' var char = db.Characters.First() 'にアクセスできますか?私はそれが単に列が誤って構成されているのか疑問に思っています(長い対int、またはdodgy列挙値など) –
: 'p.Password'警告音....実際に塩漬けされたハッシュでなければなりません、本当に –