【发布时间】:2017-06-16 21:06:09
【问题描述】:
我想知道这里是否有人知道我为什么会遇到异常
System.InvalidOperationException: The type '<>f__AnonymousType2`2[System.String,System.Int32]' must declare a default (parameterless) constructor in order to be constructed during mapping.
从我的 LINQ-to-SQL 查询中抛出
var query =
(
from change in context.ProductChangeTrackings
from expression in context.ProductDataQualityRuleExpressions
join rule in context.ProductDataQualityRules
on expression.ProductDataQualityRuleID equals rule.ProductDataQualityRuleID
where
(
from result in context.ProductDataQualityResults
where result.SKU == change.SKU
select result.ProductRowVersion
).Any(rv => rv == change.RowVersion)
&& rule.Status == "Active"
select new { change.SKU, rule.ProductDataQualityRuleID }
);
我正在运行它
public async Task<IEnumerable<T>> ExecuteAsync<T>(IQueryable<T> query, CancellationToken token = default(CancellationToken))
{
var cmd = (SqlCommand)this.GetCommand(query);
if(cmd.Connection.State == ConnectionState.Closed)
{
await cmd.Connection.OpenAsync(token);
}
var reader = await cmd.ExecuteReaderAsync(token);
return this.Translate<T>(reader);
}
它会抛出return 行。
【问题讨论】:
-
我也在寻找翻译匿名类型的方法,但没有找到答案stackoverflow.com/questions/42406032/…
标签: c# .net sql-server linq