1

コードを見てください:

// get column list from entity framework
var listID = from Ines in ineContext.IneDetailRecords
             select Ines.InePIN.ToString().ToList();
string PIN = something;
if(!listID.Contains(PIN))
    // save it to DB

InePIN は SQL Server DB のクローンで、型は varchar(20) です。

例外は次のとおりです。

Instance argument: cannot convert from 'System.Linq.IQueryable<System.Collections.Generic.List<char>>' to 'System.Linq.ParallelQuery<string>'
4

2 に答える 2

6

クエリの結果に ToList メソッドを適用する必要がありますが、選択した列には適用しません。Ines.InePIN.ToString().ToList()

変化する

var listID = from Ines in ineContext.IneDetailRecords
                                       select Ines.InePIN.ToString().ToList();

var listID = (from Ines in ineContext.IneDetailRecords
                                       select Ines.InePIN.ToString()).ToList();
于 2012-11-09T19:33:52.333 に答える
1

リスト全体を変換する必要があります ToString()

var listID = (from Ines in ineContext.IneDetailRecords
             select Ines.InePIN.ToString()).ToList();

型の共分散をよりよく理解するには、このリンクをご覧くださいhttp://blogs.msdn.com/b/csharpfaq/archive/2010/02/16/covariance-and-contravariance-faq.aspx

于 2012-11-09T19:35:03.720 に答える