Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq:连接两个表_C#_Linq - Fatal编程技术网

C# Linq:连接两个表

C# Linq:连接两个表,c#,linq,C#,Linq,在我的WPF网格上,我正在填充以下属性。最后两位来自另一张桌子。我想从另一个表中获取映射规则,其中事务表中的sourceelementid等于messagefield表的id public List<MessageFieldViewModel> GetAllViewModelMsgFields() { messageFieldVModel = messageField.GetAllMessageField().Select(msgFields => new Messag

在我的WPF网格上,我正在填充以下属性。最后两位来自另一张桌子。我想从另一个表中获取映射规则,其中事务表中的
sourceelementid
等于
messagefield
表的
id

public List<MessageFieldViewModel> GetAllViewModelMsgFields()
{
    messageFieldVModel = messageField.GetAllMessageField().Select(msgFields => new MessageFieldViewModel
    {
        Id = msgFields.Id,
        Code = msgFields.Code,
        Name = msgFields.Name,
        Position = msgFields.Position,
        Length = msgFields.Length,
        IsMapped = (transactionRuleList.Any(tr=> tr.SourceElementId ==msgFields.Id)),
        MappingRule = transactionRuleList.Where(mapRule => mapRule.MappingRule.Any(tr=> tr.SourceElementId ==msgFields.Id)),
    })
.ToList();
    return messageFieldVModel;
}
公共列表GetAllViewModelMsgFields()
{
messageFieldVModel=messageField.GetAllMessageField()。选择(msgFields=>new MessageFieldViewModel
{
Id=msgFields.Id,
Code=msgFields.Code,
Name=msgFields.Name,
位置=msgFields.Position,
长度=msgFields.Length,
IsMapped=(transactionRuleList.Any(tr=>tr.SourceElementId==msgFields.Id)),
MappingRule=transactionRuleList.Where(mapRule=>mapRule.MappingRule.Any(tr=>tr.SourceElementId==msgFields.Id)),
})
.ToList();
返回消息fieldvmodel;
}
但是映射规则列抛出错误。有人能帮我吗?

这里有一个解决方案:

      transactionRuleList = transationRuleViewModel.GetAllTranslationRules();
        messageFieldVModel = messageField.GetAllMessageField().Select(msgFields => new MessageFieldViewModel
        {
            Id = msgFields.Id,
            Code = msgFields.Code,
            Name = msgFields.Name,
            Position = msgFields.Position,
            Length = msgFields.Length,
            IsMapped = (transactionRuleList.Any(tr => tr.SourceElementId == msgFields.Id)),
            MappingRule = transactionRuleList.Any(mapRule => mapRule.SourceElementId == msgFields.Id)?transactionRuleList.First(mapRule => mapRule.SourceElementId == msgFields.Id).MappingRule:null

您可以发布内部异常吗?@Goanne这里有一个错误:“char”不包含“SourceElementId”的定义,并且找不到接受“char”类型的第一个参数的扩展方法“SourceElementId”(您是否缺少using指令或程序集引用?好的,是否要在关闭内括号之前添加最后一个coma?“msgFields.Id”),“=>“msgFields.Id”)“这是我拥有的:MappingRule=transactionRuleList.Where(mapRule=>mapRule.MappingRule.Any(tr=>tr.SourceElementId==msgFields.Id))}.ToList();我发现了问题所在,我将很快发布解决方案!谢谢大家