0

我希望能够做这样的预测:

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
    };
}

但我总是得到一个“NotSupportedException”(不支持对 sql 的翻译)。我不确定这是否可能,但它会很好^^

也许当我使用表达式时这是可能的,但我不知道如何编写这样的表达式。

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 回答