Привет,
Попробовал сделать Union таблицы и наткнулся на такую проблему (упрощено до репродюса)
[TableName(Name="SomeTable")]
public abstract class SomeTable
{
// some abstract fields
}
var res = manager.GetTable<SomeTable>()
.Union(manager.GetTable<SomeTable>())
.ToList();
И получил
System.InvalidOperationException was unhandled
Message=Instances of abstract classes cannot be created.
Source=mscorlib
StackTrace:
at System.Runtime.CompilerServices.RuntimeHelpers._CompileMethod(IRuntimeMethodInfo method)
at System.Reflection.Emit.DynamicMethod.CreateDelegate(Type delegateType, Object target)
at System.Dynamic.Utils.TypeExtensions.CreateDelegate(MethodInfo methodInfo, Type delegateType, Object target)
at System.Linq.Expressions.Compiler.LambdaCompiler.CreateDelegate()
at System.Linq.Expressions.Compiler.LambdaCompiler.Compile(LambdaExpression lambda, DebugInfoGenerator debugInfoGenerator)
at System.Linq.Expressions.Expression`1.Compile()
at BLToolkit.Data.Linq.Builder.ConcatUnionBuilder.UnionContext.BuildQuery[T](Query`1 query, ParameterExpression queryParameter) in C:\!Dev.Open\BLToolkit\Source\Data\Linq\Builder\ConcatUnionBuilder.cs:line 144
at BLToolkit.Data.Linq.Builder.ExpressionBuilder.Build[T]() in C:\!Dev.Open\BLToolkit\Source\Data\Linq\Builder\ExpressionBuilder.cs:line 164
at BLToolkit.Data.Linq.Query`1.GetQuery(IDataContextInfo dataContextInfo, Expression expr) in C:\!Dev.Open\BLToolkit\Source\Data\Linq\Query.cs:line 130
at BLToolkit.Data.Linq.Table`1.GetQuery(Expression expression, Boolean cache) in C:\!Dev.Open\BLToolkit\Source\Data\Linq\TableT.cs:line 106
at BLToolkit.Data.Linq.Table`1.Execute(IDataContextInfo dataContextInfo, Expression expression) in C:\!Dev.Open\BLToolkit\Source\Data\Linq\TableT.cs:line 98
at BLToolkit.Data.Linq.Table`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() in C:\!Dev.Open\BLToolkit\Source\Data\Linq\TableT.cs:line 191
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
....
Не кошерненько как то