我试图使用推荐LLBLGEN语法查询投影(http://www.llblgen.com/documentation/3.5/LLBLGen%20Pro%20RTF/Using%20the%20generated%20code/Adapter/gencode_usingentityview_adapter.htm#projections)LINQ到对象查询LLBLGEN投影
IEntityView2 view = table.DefaultView;
List<A1AllocationHelp1TableDTO> something =
(from c in view
select new A1AllocationHelp1TableDTO
{
RecordStatus = c.RecordStatus,
UniqueIdent = c.UniqueIdent
}).ToList();
但我发现了关于“选择”这个错误:
The type arguments for method 'IEnumerable<TResult>
System.Linq.Enumerable.Select<TSource, TResult>(this IEnumerable<TSource>,
Func<TSource, TResult>)' cannot be inferred from the query.
搞笑的是,同样的作品只是在VB.Net罚款
Dim view As IEntityView2 = table.DefaultView
Dim something As List(Of A1AllocationHelp1TableDTO) = _
(From c In view
Select New A1AllocationHelp1TableDTO With _
{
.RecordStatus = c.RecordStatus, _
.UniqueIdent = c.UniqueIdent
}).ToList()
我使用VS2010,.NET 4和LLBLGen 2.6。 不知道如何解决这个任何人都可以给我一只手?
由于
编辑:
IEntityView2由LLBLGEN产生,这是它的定义
public interface IEntityView2 : IEnumerable
{
bool AllowEdit { get; set; }
bool AllowNew { get; set; }
bool AllowRemove { get; set; }
int Count { get; }
PostCollectionChangeAction DataChangeAction { get; set; }
IPredicate Filter { get; set; }
IEntityCollection2 RelatedCollection { get; }
ISortExpression Sorter { get; set; }
IEntity2 this[int index] { get; }
event ListChangedEventHandler ListChanged;
bool Contains(IEntity2 value);
void CreateProjection(List<IEntityPropertyProjector> propertyProjectors, DataTable destination);
void CreateProjection(List<IEntityPropertyProjector> propertyProjectors, IEntityCollection2 destination);
void CreateProjection(List<IEntityPropertyProjector> propertyProjectors, IEntityDataProjector projector);
void CreateProjection(List<IEntityPropertyProjector> propertyProjectors, DataTable destination, bool allowDuplicates);
void CreateProjection(List<IEntityPropertyProjector> propertyProjectors, IEntityCollection2 destination, bool allowDuplicates);
void CreateProjection(List<IEntityPropertyProjector> propertyProjectors, IEntityDataProjector projector, bool allowDuplicates);
void CreateProjection(List<IEntityPropertyProjector> propertyProjectors, DataTable destination, bool allowDuplicates, IPredicate filter);
void CreateProjection(List<IEntityPropertyProjector> propertyProjectors, IEntityCollection2 destination, bool allowDuplicates, IPredicate filter);
void CreateProjection(List<IEntityPropertyProjector> propertyProjectors, IEntityDataProjector projector, bool allowDuplicates, IPredicate filter);
int IndexOf(IEntity2 value);
IEntityCollection2 ToEntityCollection();
IEntityCollection2 ToEntityCollection(int startIndex);
}
请显示IEntityView2的定义。 – 2013-03-21 08:28:10
我编辑添加定义 – kooshka 2013-03-21 08:45:11