0

i want to be able to do such a projection:

var result = from record in MyTable
             select MapTo( record );

             /*
             select new RecordModel( )
             {
                 RecordId = record.Id,
                 Property1 = record.Property1
             };
             */

private RecordModel MapTo( MyTable dbRecord )
{
    return new RecordModel( )
    {
        RecordId = dbRecord.Id,
        Property1 = dbRecord.Property1
    };
}

but i always get a 'NotSupportedException' (has no supported translation to sql). I'm not sure if this is even possible but it would be nice^^

Maybe this is possible when i use an expression but i don't know how to code such an expression.

4

1 に答える 1

0

Linqはクエリにメソッドを追加しようとしましたが、SQLに変換できないことを確認しました。

Linqクエリで任意のCLRメソッドを実行できるようにするには、最初にそのsql部分を実行して、メモリ内オブジェクトを操作する必要があります。このような:

var result = from record in MyTable.ToList()
             select MapTo(record);

MyTableにエントリを列挙させるものはすべて機能するはずです。

于 2012-07-06T10:09:09.927 に答える