首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

LINQ变换有没有简单的写法

2012-12-26 
LINQ转换有没有简单的写法.Select(z new Tranlit.DAL.TablesMapping.V_SX_CYInformationInfo{AutoId

LINQ转换有没有简单的写法
    .Select(z => new Tranlit.DAL.TablesMapping.V_SX_CYInformationInfo
                 {
                     AutoId = z.b.AutoId,
                     Original = z.b.Original,
                     Publisher = z.b.Publisher,
                     Title = z.b.Title,
                     Contents = z.b.Contents,
                     MainPrompt = z.b.MainPrompt,
                     Created = z.b.Created,
                     Hit = z.b.Hit,
                     ShareCount = z.b.ShareCount,
                     Review = z.b.Review,
                     Relay = z.b.Relay,
                     IsSecret = z.b.IsSecret,
                     IsDraft = z.b.IsDraft,
                     CategoryId = z.b.CategoryId,
                     ChannelId = z.b.ChannelId,
                     ColumnId = z.b.ColumnId,
                     IsSynchroUnion = z.b.IsSynchroUnion,
                     IsSynchroView = z.b.IsSynchroView,
                     IsConfirm = z.b.IsConfirm,
                     Source = z.b.Source
                 }).ToList();

如上面这段代码 ,每个字段都要赋值,有没有简单点的写法(解决匿名对象问题)
[最优解释]
想简单 ,那你用代码生成器吧
[其他解释]
想简单 ,那你用代码生成器吧
[其他解释]


基本没啥简单的,因为是不同引用对象

可以研究下 C#之深度复制和浅度复制
http://www.cnblogs.com/liaofang/articles/1288761.html
[其他解释]
问题你用的不是匿名对象啊。。。
[其他解释]
处理数据加载函数
UINT32 ProcSegmentDownLoad(UCHAR ucChanNum,UCHAR ucAddr, UINT32 ulPos, PCCU485_QueryInfoT pMsg)
UCHAR   ucNetFn = j1;UCHAR   ucCmd  = j1;UCHAR   aucData[4]  = {0};UINT32  ulResId   = j3;
UINT16  uwHandle    = j2;UINT32  ulRet  = CCU_OK;UINT32  ulBlkTmp  = j3;UINT32  ulCurBlk  = j3;
UINT32  ulSchdule   = 0;
CHECK_PARA1_NULL_RN(pMsg, CCU_ERR_MPI_INVALID_PARAMS);uwHandle = y5.uwHandle;y9;y8;
/* 上报上来的帧数 */ulBlkTmp = (UINT32)(pMsg->pData[3] << 8) + pMsg->pData[4];
ulCurBlk = y5.ulCurBlk;DBG_DOWNLOAD; ucNetFn = CCU_485LOAD_TYPE;ucCmd   = CCU_485_LOAD_EXC_CMD;
if (CCU_OK == pMsg->pData[2]){if (ulCurBlk == ulBlkTmp + 1){if ( y5.ulCurBlk == y5.ulTotalBlk )
{/* 定时器终止 */y5.ucWaitTime  = j1;y5.ucTimeCnt   = 0;y5.ucRepeatTime = LOAD_RESEND_TIME;   
y5.ucLoadState = END_DOWNLOAD_SEND;
ulRet = RS485RqNormal(ulResId, (UINT16)ulPos, uwHandle, ucNetFn, ucCmd, aucData, 0);y8;}
else{/* 定时器终止 */y5.ucWaitTime  = j1;y5.ucTimeCnt   = 0;y5.ucRepeatTime = LOAD_RESEND_TIME;
y5.ucLoadState = LOAD_SEGMENT_SEND; if  (0 == y5.ulCurBlk % 20 ){
ulSchdule = (y5.ulCurBlk * 100) / y5.ulTotalBlk;DBG_DOWNLOAD;ulRet = ReportLoadSchedToPdt(y5.ulResourceId,\
y5.enLoadType,ulSchdule);}
ulRet = RS485RqNormal(ulResId, (UINT16)ulPos, uwHandle, ucNetFn, ucCmd, aucData, sizeof(aucData));
y8;} }else{/* 如果收到已经处理过的重复帧或错误帧,扔掉不处理了 */return CCU_OK;}  }
else{DBG_DOWNLOAD;return CCU_485_ERR_QUREYCMDERR;}return ulRet;
处理结束加载函数
UINT32 ProcEndDownLoad(UCHAR ucChanNum,UCHAR ucAddr, UINT32 ulPos, PCCU485_QueryInfoT pMsg)
UCHAR   ucNetFn     = j1;UCHAR   ucCmd = j1;UCHAR   aucData[4]  = {0};
UINT32  ulResId     = j3;UINT16  uwHandle    = j2;UINT32  ulRet  = CCU_OK;
CHECK;uwHandle = y5.uwHandle;y9;y8;DBG_DOWNLOAD;ucNetFn = CCU_485LOAD_TYPE;
ucCmd   = CCU_485_LOAD_EXC_CMD;/* 如果收到结束加载的响应,则转到下一个状态机 */
if (CCU_OK == pMsg->pData[2]){ /* 定时器终止 */y5.ucWaitTime  = j1;y5.ucTimeCnt   = 0; 
y5.ucLoadState = ACTIVE_APP_SEND;
ulRet = RS485RqNormal(ulResId, (UINT16)ulPos, uwHandle, ucNetFn, ucCmd, aucData, 0);
y8;}else{ return CCU_485_ERR_QUREYCMDERR;}return ulRet;

热点排行