C#中传入的ref参数不能直接用于Linq语句中,需要先用变量接收再赋值:
public static bool ALM_Update_Alarm_Msg_Main(ref string Msg_Code, ref ALMCoreType.ALM_Update_Alarm_Msg_In_Tag Update_Alarm_Msg_In, ref BASCoreType.Cmn_Out_Tag Cmn_Out)
{
try
{
DataTable adoDataTable = null;
//define table variable
ModelContext ctx = new ModelContext();
string sMsgCode = "";
string sFactory = Update_Alarm_Msg_In._cmn_in._factory;
string sAlarmID = Update_Alarm_Msg_In.alarm_id;
string sAlarmType = Update_Alarm_Msg_In.alarm_type;
//先用string变量接收Update_Alarm_Msg_In._cmn_in._factory,再在Linq中使用
listAlmrec = ctx.Almreceiver.Where(t => t.Factory == sFactory && t.AlarmId == sAlarmID).ToList();
}
}