C# LINQ到实体参数构造函数
我四处寻找了多种解决方案,但似乎没有任何解决方案。然而,我的目标是使用LINQ查询来获取数据并填充对象;当我尝试将结果分配给a reponsebj时,我得到C# LINQ到实体参数构造函数,c#,sql,linq,entity,C#,Sql,Linq,Entity,我四处寻找了多种解决方案,但似乎没有任何解决方案。然而,我的目标是使用LINQ查询来获取数据并填充对象;当我尝试将结果分配给a reponsebj时,我得到 Only parameterless constructors and initializers are supported in LINQ to Entities. ObjVO的构造函数是无参数的 public static ApiResponseObject<ObjVO> GetObjVO(int ID)
Only parameterless constructors and initializers are supported in LINQ to Entities.
ObjVO的构造函数是无参数的
public static ApiResponseObject<ObjVO> GetObjVO(int ID)
{
ApiResponseObject<ObjVO> response = new ApiResponseObject<ObjVO>();
Context ctx = new Context();
var myQuery = from cb in ctx.tblBlock
join eve in ctx.tblEvent on cb.eventID equals eve.eventID
where cb.BlockID == ID
select new ObjVO
{
Id = cb.BlockID,
Name = cb.BlockHeadline,
TotalTYProjectedSales = cb.totalTYProjectedSale.Value,
StoreTYProjectedSales = cb.storeTYProjectedSale.Value,
SiteTYProjectedSales = cb.storeTYProjectedSale.Value,
ModifiedBy = cb.LAST_UPD_USER_ID,
LastModifiedDate = cb.LAST_UPD_TS,
StoreUnitsOnHand = cb.storeUnitsOnHand.Value,
AssignedCutsCount = 0,
BlockHeadline = cb.contentBlockHeadline,
BelongsToLockedAd = false,
ProductLevel = 1,
SiteAvailability = false,
};
response.responseData = myQuery.FirstOrDefault();
}
publicstaticapiresponseobjectgetobjvo(int-ID)
{
ApiResponseObject response=新的ApiResponseObject();
Context ctx=新上下文();
var myQuery=来自ctx.tblBlock中的cb
在cb.eventID上的ctx.tblEvent中加入eve等于eve.eventID
其中cb.BlockID==ID
选择新的ObjVO
{
Id=cb.BlockID,
Name=cb.BlockHeadline,
TotalTypProjectedSales=cb.TotalTypProjectedSale.Value,
StoreTYProjectedSales=cb.storeTYProjectedSale.Value,
SiteTypProjectedSales=cb.StoreTypProjectedSale.Value,
ModifiedBy=cb.LAST\u UPD\u USER\u ID,
LastModifiedDate=cb.LAST\u UPD\TS,
StoreUnitsOnHand=cb.StoreUnitsOnHand.Value,
AssignedCutsCount=0,
BlockHeadline=cb.contentBlockHeadline,
BelongsToLockedAd=false,
ProductLevel=1,
SiteAvailability=false,
};
response.responseData=myQuery.FirstOrDefault();
}
这可能是因为EF无法将查询转换为SQL语句
请参阅以获取参考。var a=ctx.tblBlocks.Where(x=>x.BlockID==ID)。选择(x=>newobjvo());我没有收到错误,但这似乎没有将我的数据放入Obj字段。你确定你的构造函数真的是无参数的吗?例如,没有可选参数